SlideShare a Scribd company logo
1 of 24
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.

More Related Content

Similar to Analysis & Design Method for OSGi-based Development

MohamedSalah-Resume
MohamedSalah-ResumeMohamedSalah-Resume
MohamedSalah-ResumeMohamed Sayed
Β 
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 to 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
Β 

More from 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
Β 
OSS Community In Malaysia 2009 List
OSS Community In Malaysia 2009 ListOSS Community In Malaysia 2009 List
OSS Community In Malaysia 2009 ListLinuxmalaysia Malaysia
Β 

More from 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
Β 

Recently uploaded

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
Β 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
Β 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
Β 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
Β 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
Β 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
Β 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
Β 
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | DelhiFULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhisoniya singh
Β 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
Β 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
Β 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraΓΊjo
Β 
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
Β 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
Β 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
Β 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
Β 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
Β 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
Β 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
Β 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
Β 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
Β 

Recently uploaded (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Β 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Β 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Β 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Β 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Β 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Β 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Β 
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | DelhiFULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY πŸ” 8264348440 πŸ” Call Girls in Diplomatic Enclave | Delhi
Β 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Β 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Β 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Β 
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 βœ“Call Girls In Kalyan ( Mumbai ) secure service
Β 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Β 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Β 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Β 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Β 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Β 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Β 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
Β 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Β 

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.