Showing posts with label SOA. Show all posts
Showing posts with label SOA. Show all posts

My Notes - SOA for Dummies Part 10

PART III Sustenance
All about other aspects of SOA like governance, security

Chapter 11: SOA Governance
-          SOA governance has clear impact on IT governance of the organisation.  IT governance is about managing IT of an individual department and managing IT across departments.
-          From implementation perspective SOA governance is a combination of policy, process and metadata of the component
-          SOA governance is more about how business units interacts involving SOA services, people in order to achieve business goals.
-          IT governance is about building business services where rules and process are correctly implemented; this is more targeted towards the reuse of services organization wide.
-          It is hard to convert or codify business requirements into services, and that’s about IT governance is.  These requirements are implemented by SOA services.  This is a how IT and SOA are related. 
-          As requirements keep changing, business processes and rules keep on updating, and so the IT governance is.  As SOA is an implementation of this IT governance, it has to accommodate all such change i.e. to remain dynamic.
-          SOA governance steps – organisation wide
o   Setup a board – to verify the business processes are followed correctly
o   Setup implementation standards across the board e.g. common technologies
o   Setup IT SOA governance Best practices – towards reuse of services across organisation, like service names, impact analysis, remedy action standards
o   Monitor the life-cycle services – bread-butter services for organisation, make it fail-safe and performance improvement
-          IT of an organisation expects from SOA
o   Modular design, standardization of webservice interfaces
o   Dependent webservices, reliable access, verification of quality and integrity of service and security
o   Track and report on results and service improvement
o   Well documented process on how regulations followed by services
-          Focus and object of SOA governance is:  to identify the services business needs and to conduct predictable and accurate those services. Also to maintain quality of service. 
-          Without SOA governance, SOA will not be trusted as a business computing model.

My Notes - SOA for Dummies Part 9

Chapter 10: The SOA supervisor
-           SOA is all about plumbing legacy applications and IT (Connecting business and IT).
-          Plumbing service:
o   Availability for life and death services for an organization
o   Response times and customer satisfaction
o   Business service mgmt
§  Monitoring service level
§  Identify faults and failures
§  Fault mgmt
§  Automate provisioning / remedial action
§  Performance modelling and optimization
§  Reporting
      
               The SOA Supervisor
o   SOA supervisor can also have Service Level Agreement Monitoring, which just monitors all good and happening as per deal.   SLA monitoring connected to adapters in order to monitor. If any bad is reported SLA monitoring informs SOA supervisor to take care by remedial action.
o   However this is solution is still not implemented all SOA and it’s ideal to have in your SOA implementation.

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.

My Notes - SOA for Dummies Part 1

Summary -  4 major parts

  1. -          Part 1 general SOA
  2. -          Part 2 SOA details and components – Arch etc
  3. -          Part 3 SOA other important bits – governance, security
  4. -          Part 4 Where you can apply SOA, litmus test and how to apply
  5. -          Part 5 real life SOA, how biggies are using it.

Chapter 1

-          Nothing special

-          Why SOA is needed?  Whats it in there?

-          SOA is nothing but reusing existing architectures and processes, and integrating with other architectures and processes to conduct business smoothly, in this dynamic and ever changing market place.

-          This integration is independent and abstract from layers, i.e. business layer shouldn’t worry about technology layer and vice versa

 

Chapter 2

-          More about SOA how the SOA architecture evolves.  How business layer and technology layer differ in terms of design, implementation, people and still achieving the results.

-          SOA is about

o   Only Business applications not all applications can be developed using this

o   Black box components, abstracting unnecessary complexity under the hood

o   Loosely coupled components, less dependency in terms of interaction among the components

o   Achieving results thru well defined services using black box components

-          Legacy systems/code can be used with SOA Components by providing “adaptor” which forms bridge between Legacy and SOA component

-          SOA supervisor monitors all components are behaving as desired and make a corrective action if required.

-          Conclusion of the chapter

o   SOA enables separation of Business /functionality from Legacy System connections

o   In other words, your architecture diagram can have clear separation of Business layer and plumbing layer / technology layer which connect to legacy code. SOA enables layer separation and evolution both layers i.e. business and technology independently.  Evolution is the need of current market place as technology and business are changing so rapidly. 

Where to start for SOA

Which book for SOA?  I tried many books to start with, after reading couple of chapters I realize that its not what I am looking for.  I kept dummies book at last and now realize that its good to start with.

So I have settled with SOA for Dummies.  Its going good so far.  Its really nice from little history about computing, internet and it drills down to SOA and how it emerged and why it came into existence and how its helping to overcome challenges from earlier systems.  Nothing technical. I am planning to put my notes here, so it can save your some time.