80 likes | 163 Views
Service-Oriented Programming. Guy Bieber, Lead Architect Motorola ISD C4I 2000 OOPSLA Jini Pattern Language Workshop. 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
E N D
Service-Oriented Programming Guy Bieber, Lead Architect Motorola ISD C4I 2000 OOPSLA Jini Pattern Language Workshop
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-Oriented Programming Elements • Contracts • Components • Connectors • Containers • Contexts
Service-Oriented Programming ASPECTS • Conjunctive – use and combine services in any way; peer to peer. • Deployable – deploy in any environment by 3rd party • Mobile – ability to move code • Secure – securing services and mobile code • Available – distributed network components can provide high availability
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…
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
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
Q&A Guy Bieber guy.bieber@mot.com 480-441-7692