My Notes - SOA for Dummies Part 8

Chapter 9: The Enterprise Service Bus
As  evolved from Enterprise Application Integration (EAI), ESB ensures the different components / applications work together dynamically.
-          Broad level functions
o   Messaging service – transporting messages, reliable communications
o   Management services – apply and monitor service level and own performance rules, handling messages priorities, apply global business rules.
o   Interface service – validates messages against the schema
o   Mediation service – sends and converts messages between 2 connecting apps.  This can be part of SOA Service Broker.
o   Metadata Service – transforms data as per source and destinations apps. E.g. definition of Customer can be different for each connecting app.  ESB handles it either by storing that definition locally using light-weight registry or external registry.
o   Security, encryption for communication.  Authentication, authorization, privacy, data integrity, audit are goals of security.  ESB doesn’t implement any security, however facilitates pluggable security.  It is a type of mediation service. SOA Service Broker has this responsibility.

-          Core services ESB offers is messaging and management service, all other service can be duplicated, like interface service, which can be offered by other SOA layers.  As ESB is more generic and needs to stand on its own, so the duplication.

Types of messaging
-         
            Point-to-point – No response expected, message just sent
-          Point-to-point request/response – Transaction not complete until response is received by sender
-          Broadcast – Broadcasts messages to multiple receivers, no response expected
-          Broadcast request/response – only difference from above is that, transaction isn’t complete until all responses received for requests sent.
-          Publish/subscribe – Messages received by those who subscribe to receive the messages published at agreed place.               
-          Store/forward – if recipient doesn’t get sent messages, this type will store messages and forwards once receiver becomes online.

-          Runtime ESB - ESB doesn’t run as an island. It keeps things loose and increases reliability and predictability for connection services.




My Notes - SOA for Dummies Part 7



Chapter 8: The Registry and the Broker
-          SOA Registry key functionality
o   Publish webservices and enable their discovery
o   Collect and maintain metadata about webservices
o   Govern webservice usage
-          What is metadata
o   Data to describe the webservices
o   Business rules
o   Rules used to access those WS.
-          Brokering Services
o   It’s about finding services and connecting consumer service and producer service as per the rules specified policy engine (visualize as a component of the registry) to invoke target service.
o   In order to achieve this, services must be published to registry.
-          Registry – what’s inside?
o   Webservices component description – Rules about the service itself, follows UDDI standard
o   Legacy component description – if webservice is a legacy service, rules that govern to invoke such service
o   Business process definition – Holds a map of complete business process in order to orchestrate the services invocation in a given business process.   It’s broader than just webservices.
o   Business process rules – Rules that applies business process wide, like security it is another webservice component in itself.
o   Performance rules – what are the performance requirements in order to invoke the service at the outset.  ( SOA supervisor does same at runtime)
o   Governance rules – to handle change management of contents of registry like webservices rules



-          Service Broker – What it does? – It works with Service Registry and connects all services needed and uses information stored in registry to invoke the business process.    So how it does this?

  • When application is requested, broker gets notification.
  •    Consults registry, what needs to be done and whether it can be invoked at this time.
  • Broker checks
  • All components are working and if not it starts them.
  • Interfaces between components and what information those interfaces need to know, as all adapters get connected to execute requested business process.
  • If any rules associated with the connection between components (or adapters).  So components get them from Rules Engine associated with registry.
  • Based on rules if required, broker checks and gets the connection with other components.



        

My Notes - SOA for Dummies Part 6


Chapter 7: Dealing with Adapters
-          Why they are important?  How they came into existence? 
-          But you should have one if you have an application or business process that gets called by webservice.  It’s done in registry and the changes to actual implementation are transparent to adapters.  

-          These days many vendor softwares like SAP or BPM softwares comes with ready adapters or can build while you are constructing your business process.  At a technical level to write an adapter you need a source code of actual implementation which executes the resultant functionality, so that you are customize how adapter communicates with outer world.

My Notes - SOA for Dummies Part 5

Wednesday, 18 February 2009

Chapter 6: Xplicating XML

Here author talks about XML and how different forms of XML used in the SOA.   These forms include XML for actual data, XSD for metadata, WSDL for webservice description, SOAP for message transport.  

My Notes - SOA for Dummies Part 4

Chapter 5: Loose coupling and Federation

Loose Coupling

-          Old applications were tightly coupled and were executed and maintained as huge chunk of code, which is hard to maintain and change.

-          Loosely coupled applications are independent of each other in terms of execution, so can be replaced without affecting others.

-          Such loosely coupled applications can be tightly coupled by themselves, that tight coupling is among the subcomponents it has.

-          Other advantages can be

o   Create new applications easily by assembling such discrete services/applications

o   Create secured business applications quickly, as security can be another independent service itself which can be hooked with other services.

o   Isolate problems easily, to locate failures, easy to test.

o   Such services can be reused and can be sold separately to other applications

Licensing

-          Licensing has been changed to one perpetual license to subscription based, for services used.  SOA services can be licensed in similar fashion.  Different applications/domains have different ways to do it.

-          How licensing and charging such services be different? Like some financial services can be charged per transaction.

Federation

-          It’s about governing policies,

-          Services has some set of policies which are used application / companywide (imagine federal government) and these policies can have local flavour per each department, which is more domain specific for the environment in which those services will operate (imagine state government). 

-          So Federation is used to solve integration issues.  In other words changing global policies to suit local needs, so that integration can be easy.

SOA and Federation

-          Federation is implemented using SOA registries, where application-wide or global policies are in SOA registry, which is treated as parent registry by other domain specific registries.

-          Every domain (or department) will have its individual registry which inherits from global policies and also includes domain specific policy.

-          Security can be one of the global policies.

-          Domain is defined by SOA registry and SOA broker.  And other SOA components can be shared across domains.

My Notes - SOA for Dummies Part 3

PART II - Nitty – Gritty SOA

Chapter 4: SOA Sophistication – Pieces of SOA

-          ESB – Enterprise Service Bus is a communication channel for all SOA services.  One SOA Service sends messages and receives messages to and from other SOA services.  All this is done using ESB.  It’s an end-to-end communication. 

-          SOA Registry – It is an electronic catalogue for all services.  It maintains operational information about services to call each other and metadata information, what that service is all about input/output messages, which can be used programmers.  Important function of registry is to publish services, to make it available for its consumers.

-          BPM – Business process modelling is an end-to-end solution.  This is a more like configuration, where we can specify to carry out specific business functions which different business processes will interact.  End-to-end business processes a.k.a. workflow.

-          Service Broker – This is a runtime component, for BPM, which can actually find services and connect for a business process.

-          SOA Supervisor – Just monitors all processes by using reports generated by monitor agents (these are initialized by service brokers), this enables SOA supervisor to know current state of processes.  This is just like traffic police to make sure everything flowing smoothly.

-          SOA Plumbing – These are adapters which sit in between existing legacy code and bus

BPM Tool

-          Important functions

o   Creates Business functions

o   Links in Individual functions to Business applications.  Also links Business apps together

o   (publishes) adds and refers services registered in SOA Registry

o   Programs for workflow engine.

- Availability of services at all levels should be 99.999%

My Notes - SOA for Dummies Part 2

Chapter 3

-          This is generic information so far

-          Starting with Components, and code reusability, how it can be done, how it was restricted to individual developers, customers, applications.  When such components tried to interact had issues of interoperability

-          When internet started it was just static pages, as it evolved specifications and protocol developed around technological aspect HTML, XML, Browsers.  This further extended to use such component based systems to interact over Internet. 

-          This gave birth to webservices which posed challenges over connectivity and sharing data, where XML, WSDL and SOAP protocols were developed as standards

-          As webservices are used more by business, all such business process confined in one boundary earlier, there was need of making such processes accessible online thru internet.  Such that it can be accessed by other businesses.

-          Business Processes:

o   For any business there are set of processes and sub-processes are required to carry out to carry out day to day business functions.   Generally it may need manual intervention and application systems.  Stringing together such function of a business function is called business process. And SOA can do such stringing activity of manual functions and application functions and the process management to carry out business process.

o   From SOA perspective, business processes includes people, those business process itself, implemented as software applications, adapters, and process management.

-          Siloed Applications

o   Existing applications when added with some more components are called as composite applications.

o   Such composite applications (e.g. for one business department) interact with other composite applications interacts directly.  But this interaction can be costly in terms of resources; SOA facilitates such integration with some process management.  However integration is most difficult and crucial part for successful SOA implementation.

o   Application silos are applications which are constrained for individual business departments or functions.  Are not built for use by other business functions.  Such systems have two issues inconsistent data definitions and process duplication.

-          How SOA helps?

o   SOA just work with these application silos as it is, avoiding manual work required to talk to different silos. 

o   SOA can be done in steps, no need to do all at once and hence no wastage in earlier investments.