Integrated Systems Division Service-Oriented Programming Guy Bieber, Lead Architect Motorola ISD C4I 2000 OOPSLA Jini Pattern Language Workshop Guy Bieber, Lead Architect Motorola ISD C4I 2000 OOPSLA Jini Pattern Language Workshop
Integrated Systems Division Futures Service Discovery: What is there at runtime; not what was expected to be their at compile time The PtoP revolution will be powered by discovery The next great advances in computer science will be powered by service-oriented programming. –Reusable services that can be used in ways not imagined by their authors –Formation of complex capabilities by combining and organizing simple services. Service Discovery: What is there at runtime; not what was expected to be their at compile time The PtoP revolution will be powered by discovery The next great advances in computer science will be powered by service-oriented programming. –Reusable services that can be used in ways not imagined by their authors –Formation of complex capabilities by combining and organizing simple services.
Integrated Systems Division Service-Oriented Programming Elements Contracts Components Connectors Containers Contexts Contracts Components Connectors Containers Contexts
Integrated Systems Division Service-Oriented Programming ASPECTS Conjunctive – use and combine services in any way; peer to peer. Deployable – deploy in any environment by 3 rd party Mobile – ability to move code Secure – securing services and mobile code Available – distributed network components can provide high availability Conjunctive – use and combine services in any way; peer to peer. Deployable – deploy in any environment by 3 rd party Mobile – ability to move code Secure – securing services and mobile code Available – distributed network components can provide high availability
Integrated Systems Division Java Patterns Contracts – semantics and syntax Code Mobility – movement of code for performance and interoperability Code Security – Automated mobile code requires code security. Look at the number of viruses downloaded manually… Contracts – semantics and syntax Code Mobility – movement of code for performance and interoperability Code Security – Automated mobile code requires code security. Look at the number of viruses downloaded manually…
Integrated Systems Division Jini Patterns Lease – resource failure detection based on duration agreements Discovery – bootstraping protocol for finding services; this is the only protocol that needs to stay the same… Lookup – service publication and discovery based on contracts and attributes Service Security – protecting access to services (interfaces and methods) based on role based access control Service User Interface – ability to deliver service UIs in addition to proxies to use a service. Distributed Transactions – a coordination primitive Coordinators – providing means of coordination applications Lease – resource failure detection based on duration agreements Discovery – bootstraping protocol for finding services; this is the only protocol that needs to stay the same… Lookup – service publication and discovery based on contracts and attributes Service Security – protecting access to services (interfaces and methods) based on role based access control Service User Interface – ability to deliver service UIs in addition to proxies to use a service. Distributed Transactions – a coordination primitive Coordinators – providing means of coordination applications
Integrated Systems Division Openwings Patterns Component – abstraction of hardware or software; unit of deployment for services; utilizes service contracts; subject to third party composition; independent of platforms, transport protocols and environments. Connector – transport protocol independence Container – manages execution, security, availability, and mobility of components Context – provides the environment for self-forming / self- healing components Policy – discoverable configuration files to provide environment independence Proxy – an object that implements an interface or an object that takes in an object which implements an interface. Management – provides for adding management to any component Component – abstraction of hardware or software; unit of deployment for services; utilizes service contracts; subject to third party composition; independent of platforms, transport protocols and environments. Connector – transport protocol independence Container – manages execution, security, availability, and mobility of components Context – provides the environment for self-forming / self- healing components Policy – discoverable configuration files to provide environment independence Proxy – an object that implements an interface or an object that takes in an object which implements an interface. Management – provides for adding management to any component
Integrated Systems Division Q&A Guy Bieber Guy Bieber