SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Analysis and Design
                                     Method for OSGi-based
                                     Development

                                     Azrinsyah Mirza Asfian,
                                       Engineer at MIMOS Berhad

                                             azrinsyah.asfian@mimos.my




www.mimos.my   © 2008 MIMOS Berhad. All Rights Reserved.
Agenda

        •      Introduction
        •      Service-Oriented Programming and OSGi
        •      Object-Oriented Analysis and Design Method
        •      The Proposed Method
               – Analysis and Design Method
               – Example
               – Applying the Analysis and Design Method to the Case Study
        • Conclusions and Discussions




www.mimos.my                   © 2008 MIMOS Berhad. All Rights Reserved.
Introduction

        • OSGi
               – Open Services Gateway Initiative
               – technology defined and promoted by the OSGi Alliance
               – open specifications for network delivery of managed services to
                 local networks and devices.
        • Service-orientation and component-orientation
               – requirements of having a new analysis and design approach
               – existing OOAD methodologies e.g. Booch, OMT and UML could
                 not be applied directly
        • Proposes an analysis and design method for OSGi-based
          development



www.mimos.my                   © 2008 MIMOS Berhad. All Rights Reserved.
Service-Oriented Programming

        • Utilizes services as fundamental elements
        • In OO, objects are building blocks while in SO, services
          are its foundation blocks
        • A service embedded in some component
               – accepts one or more requests and returns one or more
                 responses
        • Different from traditional methods, e.g. OO or structural
        • Remarkable traits
               – Dynamism
               – Substitutability
        • Discover and substitute at run-time
        • Focuses on how services are described and organized of
          appropriate services at run-time
www.mimos.my                    © 2008 MIMOS Berhad. All Rights Reserved.
Service-Oriented Interaction Pattern




www.mimos.my         © 2008 MIMOS Berhad. All Rights Reserved.
Service-Oriented Programming (cont.)

        • OOP
               – problems can be modeled in terms of objects in the problem
                 domain
        • SOP
               – problems can be modeled in terms of services which can be
                 implemented and provided by any other components, based
                 solely on the contract
        • SOA
               – can discover, substitute and co-ordinate service
                 implementations at run-time
               – because components publish and use services in a P2P manner




www.mimos.my                   © 2008 MIMOS Berhad. All Rights Reserved.
Contributions of Service-Oriented
        Programming
        •      Fosters code reuse
        •      Rapid and dynamic system construction
        •      System upgrade without restarting and
        •      Independence from platforms, protocols and
               deployment environments




www.mimos.my                 © 2008 MIMOS Berhad. All Rights Reserved.
OSGi Concepts

• Follows concept of SOP
• OSGi spec defines the service framework
   –   minimal component model
   –   management service for the components
   –   service registry
   –   Initially used for service gateways
   –   now, mainstream software devt e.g. Eclipse subproject called
       Equinox
• Services (i.e., Java interfaces)
   – packaged along with implementations and associated resources
     into bundles
   – conforms to SO interaction pattern
   – deployed into the OSGi framework via WANs i.e., the Internet or
     other means e.g. GSM or memory cards.
                     © 2008 MIMOS Berhad. All Rights Reserved.
OSGi Concepts

        • Bundle is a Java JAR file that contains
               – physical unit of deployment
               – can be modified and updated without requiring system to be
                 restarted
               – some combination of Java class files
               – native code
               – associated resources
               – manifest - meta-data describing, Java packages that the bundle
                 requires or provides
        • Other competing SO architectures are NetBeans module
          and Java Plugin Framework




www.mimos.my                   © 2008 MIMOS Berhad. All Rights Reserved.
General Object-Oriented Analysis and
        Design (OOAD) Method
        • Steps available in both Booch and OMT:
               1.   Develop a problem statement
               2.   Identify the classes and objects
               3.   Identify the semantics (or attributes) of these classes and
                    objects
               4.   Identify the relationships among these classes and objects
               5.   Specify the interface and then the implementation of these
                    classes and objects




www.mimos.my                    © 2008 MIMOS Berhad. All Rights Reserved.
The Proposed Method

        • An improvement over existing OOAD methods.
        • Additional steps added:
               – Extract or reuse existing OSGi services and components (or
                 bundles) based on their versions
               – Determine dependencies between services
               – Depict dynamic view of the system using service dependencies
                 diagram




www.mimos.my                   © 2008 MIMOS Berhad. All Rights Reserved.
Analysis and Design Method

        • The resulting steps:
               1.   Develop a problem statement
               2.   Identify the services based on their intended responsibilities
               3.   Identify relationships between services during runtime.
               4.   Identify bundles that encapsulate a service (or services)
               5.   Identify classes and objects that make up a particular service
                    and bundle
               6.   Identify the semantics (or attributes) of these classes and
                    objects
               7.   Identify the relationships among these classes and objects
               8.   Specify the interface and then the implementation of these
                    classes and objects




www.mimos.my                     © 2008 MIMOS Berhad. All Rights Reserved.
Example

        • Illustrate how to translate software requirements into
          design using OSGi
        • The requirements associated with this software:
               – System must be able to display all users available
               – When a user is selected, system must open a screen that
                 displays details of the user.
               – All user information must be stored inside a centralized
                 database.
               – System resides on a client computer which is remote from
                 server that stores all the user information.




www.mimos.my                   © 2008 MIMOS Berhad. All Rights Reserved.
Applying the Analysis and Design Method –
        Overall System Architectural Diagram




www.mimos.my        © 2008 MIMOS Berhad. All Rights Reserved.
Applying the Analysis and Design Method –
        Step 2
        • Step 2 of the method is applied to the requirement
          specifications
        • Services identified:
               – Profile Persistence Service: Responsible in making used of Java
                 persistence classes to perform Read operation on profile of
                 users residing in centralized database
               – User Detail Screen Service: Provides a screen to open detail of a
                 selected user
               – Main Screen Service: Shows the screen of main application
               – Table Screen Service: Provides table screen service




www.mimos.my                    © 2008 MIMOS Berhad. All Rights Reserved.
Applying the Analysis and Design Method –
        Step 3, Service Dependencies Diagram




www.mimos.my        © 2008 MIMOS Berhad. All Rights Reserved.
Applying the Analysis and Design Method –
        Step 4 and Step 5
        • Applying step 4
               – results in each of the services to be in their respective bundles
               – need not to depict this
               – in complex systems where a bundle can provide more than one
                 services, it is necessary to have a diagram on its own
        • Step 5 onwards will not be discussed here
               – same steps likewise OOAD methods
               – design patterns can be applied to further promote reusability
                 within a bundle




www.mimos.my                    © 2008 MIMOS Berhad. All Rights Reserved.
Conclusions and Discussions

        • Suggested approach or step-by-step guidelines to build
          software systems utilizing OSGi
        • Weaknesses of this method are:
               – No formal notation defined to depict relationships between
                 services during runtime
               – System architectural diagram must be depicted upfront
               – Identification and decompositions of services largely depends on
                 skills and experience
        • A trend moving towards MDA and MDD is currently
          underway by OMG
        • In the future, this method can be improved to follow
          such a trend


www.mimos.my                   © 2008 MIMOS Berhad. All Rights Reserved.
THANK YOU



www.mimos.my     © 2008 MIMOS Berhad. All Rights Reserved.
Object-Oriented Analysis and Design
        (OOAD) Method
        • In 1990s OO paradigm became popular
               – OO languages have been the preferred programming language
               – OO paradigm has introduced attributes which solve issues in
                 structured paradigm
        • OOAD method
               – invented, likewise the structured analysis and design method is
                 for structured paradigm
               – step-by-step guidelines for architects and developers on
                 designing and developing their applications
               – popular methods e.g. Booch, Object Modeling Technique (OMT)
                 and the Unified Modeling Language (UML)




www.mimos.my                   © 2008 MIMOS Berhad. All Rights Reserved.
OOAD Issues

        • Analysis and design of OO systems only
        • Resulting design is usually monolithic
        • Invented in 1990s where service-oriented and
          component-oriented paradigm was not common
        • An improved version of OOAD method is required
        • Do not cater for dynamism
               – service required or depended on by another service becomes
                 unavailable
               – all components must be made available for the dependent
                 components to be able to run or use
               – in SO, requires handling of unavailable service to be clearly
                 specified during analysis and design phase



www.mimos.my                   © 2008 MIMOS Berhad. All Rights Reserved.
OOAD Issues (cont.)

        • UML does not provide formal notations to depict
          services
        • Structural view
               – bundle diagram that shows relationships and dependencies
                 against other bundles
               – class diagram can still be used to illustrate classes within a
                 package in a bundle
        • Dynamic view
               – OSGi bundle together with services that it offers to other
                 services residing in other bundles
               – ensure that system being designed has all required services to
                 be resolved and available during runtime



www.mimos.my                    © 2008 MIMOS Berhad. All Rights Reserved.
OOAD Issues (cont.)

        • OSGi attributes
               – possibility that different versions of same package providing a
                 service to be made available
               – different versions of this package might be providing same
                 service with different behaviours
               – Different parts of system might be using different versions of
                 same package
        • Dynamic view of entire system is depicted by service
          dependencies diagram
        • Version of a service must be specified so that dependent
          services can be connected
        • Reactive approach in system development do exists


www.mimos.my                    © 2008 MIMOS Berhad. All Rights Reserved.
OOAD Method (cont.)

        • Booch and OMT clearly specify the steps required to be
          taken when converting system requirements into a
          software design
        • UML
               – does not specify the exact method
               – only specify the notations and type of diagrams available to
                 provide different architectural views of a software system
               – designed to be compatible with those methods
               – methods have been recast to take advantage of the new
                 notations available




www.mimos.my                    © 2008 MIMOS Berhad. All Rights Reserved.

Más contenido relacionado

Similar a Analysis & Design Method for OSGi-based Development

AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06Jay van Zyl
 
OSGi Architecture for Mobile Device Software - Peter Kriens, aQute
OSGi Architecture for Mobile Device Software - Peter Kriens, aQuteOSGi Architecture for Mobile Device Software - Peter Kriens, aQute
OSGi Architecture for Mobile Device Software - Peter Kriens, aQutemfrancis
 
JAVA J2EE LEAD coming out of CITI
JAVA J2EE LEAD coming out of CITIJAVA J2EE LEAD coming out of CITI
JAVA J2EE LEAD coming out of CITIvravi123
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises Kasun Indrasiri
 
Yuriy Chapran - Building microservices.
Yuriy Chapran - Building microservices.Yuriy Chapran - Building microservices.
Yuriy Chapran - Building microservices.Yuriy Chapran
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture Prabhat gangwar
 
Delivering the Composable Enterprise
Delivering the Composable EnterpriseDelivering the Composable Enterprise
Delivering the Composable EnterpriseSaul Caganoff
 
Mule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesMule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesAnirudh Pandit
 
Enterprise Cloud Management - 2013 EMC World presentation
Enterprise Cloud Management - 2013 EMC World presentationEnterprise Cloud Management - 2013 EMC World presentation
Enterprise Cloud Management - 2013 EMC World presentationServiceMesh
 
Accelarating PHP Applications at INTAN Sabah Technology Updates 2011
Accelarating PHP Applications at INTAN Sabah Technology Updates 2011Accelarating PHP Applications at INTAN Sabah Technology Updates 2011
Accelarating PHP Applications at INTAN Sabah Technology Updates 2011phptechtalk
 
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...mfrancis
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesAraf Karsh Hamid
 
KiranGara_JEE_7Yrs
KiranGara_JEE_7YrsKiranGara_JEE_7Yrs
KiranGara_JEE_7YrsKiran Gara
 
01 oracle application integration overview
01 oracle application integration overview01 oracle application integration overview
01 oracle application integration overviewnksolanki
 
.Net 7.1 years Vijay_Thakare
.Net 7.1 years Vijay_Thakare.Net 7.1 years Vijay_Thakare
.Net 7.1 years Vijay_ThakareVijay Thakare
 
All-inclusive insights on Building JavaScript microservices with Node!.pdf
All-inclusive insights on Building JavaScript microservices with Node!.pdfAll-inclusive insights on Building JavaScript microservices with Node!.pdf
All-inclusive insights on Building JavaScript microservices with Node!.pdfShelly Megan
 
Prince_Kumar_JAVA_Developer
Prince_Kumar_JAVA_DeveloperPrince_Kumar_JAVA_Developer
Prince_Kumar_JAVA_DeveloperPrince nagsen
 

Similar a Analysis & Design Method for OSGi-based Development (20)

MohamedSalah-Resume
MohamedSalah-ResumeMohamedSalah-Resume
MohamedSalah-Resume
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06
 
OSGi Architecture for Mobile Device Software - Peter Kriens, aQute
OSGi Architecture for Mobile Device Software - Peter Kriens, aQuteOSGi Architecture for Mobile Device Software - Peter Kriens, aQute
OSGi Architecture for Mobile Device Software - Peter Kriens, aQute
 
JAVA J2EE LEAD coming out of CITI
JAVA J2EE LEAD coming out of CITIJAVA J2EE LEAD coming out of CITI
JAVA J2EE LEAD coming out of CITI
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
Yuriy Chapran - Building microservices.
Yuriy Chapran - Building microservices.Yuriy Chapran - Building microservices.
Yuriy Chapran - Building microservices.
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture
 
Delivering the Composable Enterprise
Delivering the Composable EnterpriseDelivering the Composable Enterprise
Delivering the Composable Enterprise
 
Mule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesMule : Building Blocks for Microservices
Mule : Building Blocks for Microservices
 
Enterprise Cloud Management - 2013 EMC World presentation
Enterprise Cloud Management - 2013 EMC World presentationEnterprise Cloud Management - 2013 EMC World presentation
Enterprise Cloud Management - 2013 EMC World presentation
 
Accelarating PHP Applications at INTAN Sabah Technology Updates 2011
Accelarating PHP Applications at INTAN Sabah Technology Updates 2011Accelarating PHP Applications at INTAN Sabah Technology Updates 2011
Accelarating PHP Applications at INTAN Sabah Technology Updates 2011
 
Pro syst about us
Pro syst   about usPro syst   about us
Pro syst about us
 
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
KiranGara_JEE_7Yrs
KiranGara_JEE_7YrsKiranGara_JEE_7Yrs
KiranGara_JEE_7Yrs
 
01 oracle application integration overview
01 oracle application integration overview01 oracle application integration overview
01 oracle application integration overview
 
.Net 7.1 years Vijay_Thakare
.Net 7.1 years Vijay_Thakare.Net 7.1 years Vijay_Thakare
.Net 7.1 years Vijay_Thakare
 
All-inclusive insights on Building JavaScript microservices with Node!.pdf
All-inclusive insights on Building JavaScript microservices with Node!.pdfAll-inclusive insights on Building JavaScript microservices with Node!.pdf
All-inclusive insights on Building JavaScript microservices with Node!.pdf
 
Prince_Kumar_JAVA_Developer
Prince_Kumar_JAVA_DeveloperPrince_Kumar_JAVA_Developer
Prince_Kumar_JAVA_Developer
 

Más de Linuxmalaysia Malaysia

Big Data - Harisfazillah Jamel - Startup and Developer 4th Meetup 5th Novembe...
Big Data - Harisfazillah Jamel - Startup and Developer 4th Meetup 5th Novembe...Big Data - Harisfazillah Jamel - Startup and Developer 4th Meetup 5th Novembe...
Big Data - Harisfazillah Jamel - Startup and Developer 4th Meetup 5th Novembe...Linuxmalaysia Malaysia
 
Call For Speakers Malaysia Open Source Conference 2014 (MOSCMY 2014 - MOSCMY2...
Call For Speakers Malaysia Open Source Conference 2014 (MOSCMY 2014 - MOSCMY2...Call For Speakers Malaysia Open Source Conference 2014 (MOSCMY 2014 - MOSCMY2...
Call For Speakers Malaysia Open Source Conference 2014 (MOSCMY 2014 - MOSCMY2...Linuxmalaysia Malaysia
 
Malaysia Open Source Conference MOSCMY 2013 Itinerary And Streams MOSC2013 a...
Malaysia Open Source Conference MOSCMY 2013  Itinerary And Streams MOSC2013 a...Malaysia Open Source Conference MOSCMY 2013  Itinerary And Streams MOSC2013 a...
Malaysia Open Source Conference MOSCMY 2013 Itinerary And Streams MOSC2013 a...Linuxmalaysia Malaysia
 
MOSC2013 MOSCMY Brochure Malaysia Open Source Conference 2013
MOSC2013 MOSCMY Brochure Malaysia Open Source Conference 2013MOSC2013 MOSCMY Brochure Malaysia Open Source Conference 2013
MOSC2013 MOSCMY Brochure Malaysia Open Source Conference 2013Linuxmalaysia Malaysia
 
Brochure Malaysia Open Source Conference 2013 MOSCMY 2013 (MOSC2013) brochure
Brochure Malaysia Open Source Conference 2013 MOSCMY 2013 (MOSC2013) brochureBrochure Malaysia Open Source Conference 2013 MOSCMY 2013 (MOSC2013) brochure
Brochure Malaysia Open Source Conference 2013 MOSCMY 2013 (MOSC2013) brochureLinuxmalaysia Malaysia
 
Hala Tuju Kemahiran Keselamatan Komputer Dan Internet (ICT)
Hala Tuju Kemahiran Keselamatan Komputer Dan Internet (ICT)Hala Tuju Kemahiran Keselamatan Komputer Dan Internet (ICT)
Hala Tuju Kemahiran Keselamatan Komputer Dan Internet (ICT)Linuxmalaysia Malaysia
 
FOSSDAY@IIUM 2012 Cloud Presentation By LinuxMalaysia
FOSSDAY@IIUM 2012 Cloud Presentation By LinuxMalaysiaFOSSDAY@IIUM 2012 Cloud Presentation By LinuxMalaysia
FOSSDAY@IIUM 2012 Cloud Presentation By LinuxMalaysiaLinuxmalaysia Malaysia
 
Questionnaire For Establishment Of Board of Computing Professionals Malaysia ...
Questionnaire For Establishment Of Board of Computing Professionals Malaysia ...Questionnaire For Establishment Of Board of Computing Professionals Malaysia ...
Questionnaire For Establishment Of Board of Computing Professionals Malaysia ...Linuxmalaysia Malaysia
 
Sponsorship Prospectus Malaysia Open Source Conference 2012 (MOSC2012)
Sponsorship Prospectus Malaysia Open Source Conference 2012  (MOSC2012)Sponsorship Prospectus Malaysia Open Source Conference 2012  (MOSC2012)
Sponsorship Prospectus Malaysia Open Source Conference 2012 (MOSC2012)Linuxmalaysia Malaysia
 
OSS Community Forum Regarding Proposed BCPM2011 SWOT Slide
OSS Community Forum Regarding Proposed BCPM2011 SWOT SlideOSS Community Forum Regarding Proposed BCPM2011 SWOT Slide
OSS Community Forum Regarding Proposed BCPM2011 SWOT SlideLinuxmalaysia Malaysia
 
Introduction To ICT Security Audit OWASP Day Malaysia 2011
Introduction To ICT Security Audit OWASP Day Malaysia 2011Introduction To ICT Security Audit OWASP Day Malaysia 2011
Introduction To ICT Security Audit OWASP Day Malaysia 2011Linuxmalaysia Malaysia
 
Building Smart Phone Web Apps MOSC2010 Bikesh iTrain
Building Smart Phone Web Apps MOSC2010 Bikesh iTrainBuilding Smart Phone Web Apps MOSC2010 Bikesh iTrain
Building Smart Phone Web Apps MOSC2010 Bikesh iTrainLinuxmalaysia Malaysia
 
OSDC.my Master Plan For Malaysia Open Source Community
OSDC.my Master Plan For Malaysia Open Source CommunityOSDC.my Master Plan For Malaysia Open Source Community
OSDC.my Master Plan For Malaysia Open Source CommunityLinuxmalaysia Malaysia
 
33853955 bikesh-beginning-smart-phone-web-development
33853955 bikesh-beginning-smart-phone-web-development33853955 bikesh-beginning-smart-phone-web-development
33853955 bikesh-beginning-smart-phone-web-developmentLinuxmalaysia Malaysia
 
Open Source Tools for Creating Mashups with Government Datasets MOSC2010
Open Source Tools for Creating Mashups with Government Datasets MOSC2010Open Source Tools for Creating Mashups with Government Datasets MOSC2010
Open Source Tools for Creating Mashups with Government Datasets MOSC2010Linuxmalaysia Malaysia
 
DNS solution trumps cloud computing competition
DNS solution trumps cloud computing competitionDNS solution trumps cloud computing competition
DNS solution trumps cloud computing competitionLinuxmalaysia Malaysia
 
Brochure MSC Malaysia Open Source Conference 2010 (MSC MOSC2010)
Brochure MSC Malaysia Open Source Conference 2010 (MSC MOSC2010)Brochure MSC Malaysia Open Source Conference 2010 (MSC MOSC2010)
Brochure MSC Malaysia Open Source Conference 2010 (MSC MOSC2010)Linuxmalaysia Malaysia
 
Benchmarking On Web Server For Budget 2008 Day
Benchmarking On  Web  Server For  Budget 2008  DayBenchmarking On  Web  Server For  Budget 2008  Day
Benchmarking On Web Server For Budget 2008 DayLinuxmalaysia Malaysia
 

Más de Linuxmalaysia Malaysia (20)

Big Data - Harisfazillah Jamel - Startup and Developer 4th Meetup 5th Novembe...
Big Data - Harisfazillah Jamel - Startup and Developer 4th Meetup 5th Novembe...Big Data - Harisfazillah Jamel - Startup and Developer 4th Meetup 5th Novembe...
Big Data - Harisfazillah Jamel - Startup and Developer 4th Meetup 5th Novembe...
 
Call For Speakers Malaysia Open Source Conference 2014 (MOSCMY 2014 - MOSCMY2...
Call For Speakers Malaysia Open Source Conference 2014 (MOSCMY 2014 - MOSCMY2...Call For Speakers Malaysia Open Source Conference 2014 (MOSCMY 2014 - MOSCMY2...
Call For Speakers Malaysia Open Source Conference 2014 (MOSCMY 2014 - MOSCMY2...
 
Malaysia Open Source Conference MOSCMY 2013 Itinerary And Streams MOSC2013 a...
Malaysia Open Source Conference MOSCMY 2013  Itinerary And Streams MOSC2013 a...Malaysia Open Source Conference MOSCMY 2013  Itinerary And Streams MOSC2013 a...
Malaysia Open Source Conference MOSCMY 2013 Itinerary And Streams MOSC2013 a...
 
MOSC2013 MOSCMY Brochure Malaysia Open Source Conference 2013
MOSC2013 MOSCMY Brochure Malaysia Open Source Conference 2013MOSC2013 MOSCMY Brochure Malaysia Open Source Conference 2013
MOSC2013 MOSCMY Brochure Malaysia Open Source Conference 2013
 
Brochure Malaysia Open Source Conference 2013 MOSCMY 2013 (MOSC2013) brochure
Brochure Malaysia Open Source Conference 2013 MOSCMY 2013 (MOSC2013) brochureBrochure Malaysia Open Source Conference 2013 MOSCMY 2013 (MOSC2013) brochure
Brochure Malaysia Open Source Conference 2013 MOSCMY 2013 (MOSC2013) brochure
 
Hala Tuju Kemahiran Keselamatan Komputer Dan Internet (ICT)
Hala Tuju Kemahiran Keselamatan Komputer Dan Internet (ICT)Hala Tuju Kemahiran Keselamatan Komputer Dan Internet (ICT)
Hala Tuju Kemahiran Keselamatan Komputer Dan Internet (ICT)
 
FOSSDAY@IIUM 2012 Cloud Presentation By LinuxMalaysia
FOSSDAY@IIUM 2012 Cloud Presentation By LinuxMalaysiaFOSSDAY@IIUM 2012 Cloud Presentation By LinuxMalaysia
FOSSDAY@IIUM 2012 Cloud Presentation By LinuxMalaysia
 
Questionnaire For Establishment Of Board of Computing Professionals Malaysia ...
Questionnaire For Establishment Of Board of Computing Professionals Malaysia ...Questionnaire For Establishment Of Board of Computing Professionals Malaysia ...
Questionnaire For Establishment Of Board of Computing Professionals Malaysia ...
 
Sponsorship Prospectus Malaysia Open Source Conference 2012 (MOSC2012)
Sponsorship Prospectus Malaysia Open Source Conference 2012  (MOSC2012)Sponsorship Prospectus Malaysia Open Source Conference 2012  (MOSC2012)
Sponsorship Prospectus Malaysia Open Source Conference 2012 (MOSC2012)
 
OSS Community Forum Regarding Proposed BCPM2011 SWOT Slide
OSS Community Forum Regarding Proposed BCPM2011 SWOT SlideOSS Community Forum Regarding Proposed BCPM2011 SWOT Slide
OSS Community Forum Regarding Proposed BCPM2011 SWOT Slide
 
Introduction To ICT Security Audit OWASP Day Malaysia 2011
Introduction To ICT Security Audit OWASP Day Malaysia 2011Introduction To ICT Security Audit OWASP Day Malaysia 2011
Introduction To ICT Security Audit OWASP Day Malaysia 2011
 
Building Smart Phone Web Apps MOSC2010 Bikesh iTrain
Building Smart Phone Web Apps MOSC2010 Bikesh iTrainBuilding Smart Phone Web Apps MOSC2010 Bikesh iTrain
Building Smart Phone Web Apps MOSC2010 Bikesh iTrain
 
OSDC.my Master Plan For Malaysia Open Source Community
OSDC.my Master Plan For Malaysia Open Source CommunityOSDC.my Master Plan For Malaysia Open Source Community
OSDC.my Master Plan For Malaysia Open Source Community
 
33853955 bikesh-beginning-smart-phone-web-development
33853955 bikesh-beginning-smart-phone-web-development33853955 bikesh-beginning-smart-phone-web-development
33853955 bikesh-beginning-smart-phone-web-development
 
Open Source Tools for Creating Mashups with Government Datasets MOSC2010
Open Source Tools for Creating Mashups with Government Datasets MOSC2010Open Source Tools for Creating Mashups with Government Datasets MOSC2010
Open Source Tools for Creating Mashups with Government Datasets MOSC2010
 
DNS solution trumps cloud computing competition
DNS solution trumps cloud computing competitionDNS solution trumps cloud computing competition
DNS solution trumps cloud computing competition
 
Brochure MSC Malaysia Open Source Conference 2010 (MSC MOSC2010)
Brochure MSC Malaysia Open Source Conference 2010 (MSC MOSC2010)Brochure MSC Malaysia Open Source Conference 2010 (MSC MOSC2010)
Brochure MSC Malaysia Open Source Conference 2010 (MSC MOSC2010)
 
Benchmarking On Web Server For Budget 2008 Day
Benchmarking On  Web  Server For  Budget 2008  DayBenchmarking On  Web  Server For  Budget 2008  Day
Benchmarking On Web Server For Budget 2008 Day
 
Sesuaikan Masa Sempena 2010
Sesuaikan Masa Sempena 2010Sesuaikan Masa Sempena 2010
Sesuaikan Masa Sempena 2010
 
OSS Community In Malaysia 2009 List
OSS Community In Malaysia 2009 ListOSS Community In Malaysia 2009 List
OSS Community In Malaysia 2009 List
 

Último

UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosErol GIRAUDY
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsDianaGray10
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4DianaGray10
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameKapil Thakar
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTopCSSGallery
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updateadam112203
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Alkin Tezuysal
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Libraryshyamraj55
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechProduct School
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 

Último (20)

UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenarios
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projects
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First Frame
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development Companies
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 update
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Library
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 

Analysis & Design Method for OSGi-based Development

  • 1. Analysis and Design Method for OSGi-based Development Azrinsyah Mirza Asfian, Engineer at MIMOS Berhad azrinsyah.asfian@mimos.my www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 2. Agenda • Introduction • Service-Oriented Programming and OSGi • Object-Oriented Analysis and Design Method • The Proposed Method – Analysis and Design Method – Example – Applying the Analysis and Design Method to the Case Study • Conclusions and Discussions www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 3. Introduction • OSGi – Open Services Gateway Initiative – technology defined and promoted by the OSGi Alliance – open specifications for network delivery of managed services to local networks and devices. • Service-orientation and component-orientation – requirements of having a new analysis and design approach – existing OOAD methodologies e.g. Booch, OMT and UML could not be applied directly • Proposes an analysis and design method for OSGi-based development www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 4. Service-Oriented Programming • Utilizes services as fundamental elements • In OO, objects are building blocks while in SO, services are its foundation blocks • A service embedded in some component – accepts one or more requests and returns one or more responses • Different from traditional methods, e.g. OO or structural • Remarkable traits – Dynamism – Substitutability • Discover and substitute at run-time • Focuses on how services are described and organized of appropriate services at run-time www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 5. Service-Oriented Interaction Pattern www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 6. Service-Oriented Programming (cont.) • OOP – problems can be modeled in terms of objects in the problem domain • SOP – problems can be modeled in terms of services which can be implemented and provided by any other components, based solely on the contract • SOA – can discover, substitute and co-ordinate service implementations at run-time – because components publish and use services in a P2P manner www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 7. Contributions of Service-Oriented Programming • Fosters code reuse • Rapid and dynamic system construction • System upgrade without restarting and • Independence from platforms, protocols and deployment environments www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 8. OSGi Concepts • Follows concept of SOP • OSGi spec defines the service framework – minimal component model – management service for the components – service registry – Initially used for service gateways – now, mainstream software devt e.g. Eclipse subproject called Equinox • Services (i.e., Java interfaces) – packaged along with implementations and associated resources into bundles – conforms to SO interaction pattern – deployed into the OSGi framework via WANs i.e., the Internet or other means e.g. GSM or memory cards. © 2008 MIMOS Berhad. All Rights Reserved.
  • 9. OSGi Concepts • Bundle is a Java JAR file that contains – physical unit of deployment – can be modified and updated without requiring system to be restarted – some combination of Java class files – native code – associated resources – manifest - meta-data describing, Java packages that the bundle requires or provides • Other competing SO architectures are NetBeans module and Java Plugin Framework www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 10. General Object-Oriented Analysis and Design (OOAD) Method • Steps available in both Booch and OMT: 1. Develop a problem statement 2. Identify the classes and objects 3. Identify the semantics (or attributes) of these classes and objects 4. Identify the relationships among these classes and objects 5. Specify the interface and then the implementation of these classes and objects www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 11. The Proposed Method • An improvement over existing OOAD methods. • Additional steps added: – Extract or reuse existing OSGi services and components (or bundles) based on their versions – Determine dependencies between services – Depict dynamic view of the system using service dependencies diagram www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 12. Analysis and Design Method • The resulting steps: 1. Develop a problem statement 2. Identify the services based on their intended responsibilities 3. Identify relationships between services during runtime. 4. Identify bundles that encapsulate a service (or services) 5. Identify classes and objects that make up a particular service and bundle 6. Identify the semantics (or attributes) of these classes and objects 7. Identify the relationships among these classes and objects 8. Specify the interface and then the implementation of these classes and objects www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 13. Example • Illustrate how to translate software requirements into design using OSGi • The requirements associated with this software: – System must be able to display all users available – When a user is selected, system must open a screen that displays details of the user. – All user information must be stored inside a centralized database. – System resides on a client computer which is remote from server that stores all the user information. www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 14. Applying the Analysis and Design Method – Overall System Architectural Diagram www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 15. Applying the Analysis and Design Method – Step 2 • Step 2 of the method is applied to the requirement specifications • Services identified: – Profile Persistence Service: Responsible in making used of Java persistence classes to perform Read operation on profile of users residing in centralized database – User Detail Screen Service: Provides a screen to open detail of a selected user – Main Screen Service: Shows the screen of main application – Table Screen Service: Provides table screen service www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 16. Applying the Analysis and Design Method – Step 3, Service Dependencies Diagram www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 17. Applying the Analysis and Design Method – Step 4 and Step 5 • Applying step 4 – results in each of the services to be in their respective bundles – need not to depict this – in complex systems where a bundle can provide more than one services, it is necessary to have a diagram on its own • Step 5 onwards will not be discussed here – same steps likewise OOAD methods – design patterns can be applied to further promote reusability within a bundle www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 18. Conclusions and Discussions • Suggested approach or step-by-step guidelines to build software systems utilizing OSGi • Weaknesses of this method are: – No formal notation defined to depict relationships between services during runtime – System architectural diagram must be depicted upfront – Identification and decompositions of services largely depends on skills and experience • A trend moving towards MDA and MDD is currently underway by OMG • In the future, this method can be improved to follow such a trend www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 19. THANK YOU www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 20. Object-Oriented Analysis and Design (OOAD) Method • In 1990s OO paradigm became popular – OO languages have been the preferred programming language – OO paradigm has introduced attributes which solve issues in structured paradigm • OOAD method – invented, likewise the structured analysis and design method is for structured paradigm – step-by-step guidelines for architects and developers on designing and developing their applications – popular methods e.g. Booch, Object Modeling Technique (OMT) and the Unified Modeling Language (UML) www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 21. OOAD Issues • Analysis and design of OO systems only • Resulting design is usually monolithic • Invented in 1990s where service-oriented and component-oriented paradigm was not common • An improved version of OOAD method is required • Do not cater for dynamism – service required or depended on by another service becomes unavailable – all components must be made available for the dependent components to be able to run or use – in SO, requires handling of unavailable service to be clearly specified during analysis and design phase www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 22. OOAD Issues (cont.) • UML does not provide formal notations to depict services • Structural view – bundle diagram that shows relationships and dependencies against other bundles – class diagram can still be used to illustrate classes within a package in a bundle • Dynamic view – OSGi bundle together with services that it offers to other services residing in other bundles – ensure that system being designed has all required services to be resolved and available during runtime www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 23. OOAD Issues (cont.) • OSGi attributes – possibility that different versions of same package providing a service to be made available – different versions of this package might be providing same service with different behaviours – Different parts of system might be using different versions of same package • Dynamic view of entire system is depicted by service dependencies diagram • Version of a service must be specified so that dependent services can be connected • Reactive approach in system development do exists www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.
  • 24. OOAD Method (cont.) • Booch and OMT clearly specify the steps required to be taken when converting system requirements into a software design • UML – does not specify the exact method – only specify the notations and type of diagrams available to provide different architectural views of a software system – designed to be compatible with those methods – methods have been recast to take advantage of the new notations available www.mimos.my © 2008 MIMOS Berhad. All Rights Reserved.