Analysis & Design Method for OSGi-based Development

download Analysis & Design Method for OSGi-based Development

of 24

  • date post

    19-May-2015
  • Category

    Technology

  • view

    2.641
  • download

    0

Embed Size (px)

description

Analysis & Design Method for OSGi-based Development - Azrinsyah Mirza Asfian, MIMOS Berhad. Day 2. 1 June 2009. MSC Malaysia Open Source Conference 2009.

Transcript of Analysis & Design Method for OSGi-based Development

  • 1. Analysis and DesignMethod for OSGi-basedDevelopment Azrinsyah Mirza Asfian,Engineer at MIMOS Berhad azrinsyah.asfian@mimos.my www.mimos.my 2008 MIMOS Berhad. All Rights Reserved.

2. AgendaIntroduction 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 tolocal 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 couldnot be applied directly Proposes an analysis and design method for OSGi-based developmentwww.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 moreresponses 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 problemdomain SOP problems can be modeled in terms of services which can beimplemented and provided by any other components, basedsolely on the contract SOA can discover, substitute and co-ordinate serviceimplementations 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 anddeployment 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 calledEquinox Services (i.e., Java interfaces) packaged along with implementations and associated resourcesinto bundles conforms to SO interaction pattern deployed into the OSGi framework via WANs i.e., the Internet orother 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 berestarted some combination of Java class files native code associated resources manifest - meta-data describing, Java packages that the bundlerequires 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 statement2. Identify the classes and objects3. Identify the semantics (or attributes) of these classes and objects4. Identify the relationships among these classes and objects5. 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 (orbundles) based on their versions Determine dependencies between services Depict dynamic view of the system using service dependenciesdiagram www.mimos.my 2008 MIMOS Berhad. All Rights Reserved. 12. Analysis and Design Method The resulting steps:1. Develop a problem statement2. Identify the services based on their intended responsibilities3. 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 bundle6. Identify the semantics (or attributes) of these classes and objects7. Identify the relationships among these classes and objects8. 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 thatdisplays details of the user. All user information must be stored inside a centralizeddatabase. System resides on a client computer which is remote fromserver 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 Javapersistence classes to perform Read operation on profile ofusers residing in centralized database User Detail Screen Service: Provides a screen to open detail of aselected 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 oneservices, 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 reusabilitywithin 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 betweenservices during runtime System architectural diagram must be depicted upfront Identification and decompositions of services largely depends onskills 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 YOUwww.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 instructured paradigm OOAD method invented, likewise the structured analysis and design method isfor structured paradigm step-by-step guidelines for architects and developers ondesigning 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 becomesunavailable all components must be made available for the dependentcomponents to be able to run or use in SO, requires handling of unavailable service to be clearlyspecified during analysis and design phasewww.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 dependenciesagainst other bundles class diagram can still be used to illustrate classes within apackage in a bundle Dynamic view OSGi bundle together with services that it offers to otherservices residing in other bundles ensure that system being designed has all required services tobe resolved and available during runtimewww.mimos.my 2008 MIMOS Berhad. All Rights Reserved. 23. OOAD Issues (cont.) OSGi attributes possibility that different versions of same package providing aservice to be made available different versions of this package might be providing sameservice with different behaviours Different parts of system might be using different versions ofsame 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 toprovide different architectural views of a software system designed to be compatible with those methods methods have been recast to take advantage of the newnotations available www.mimos.my 2008 MIMOS Berhad. All Rights Reserved.