e-gov Architecture Architectural Blueprint
|
|
|
- Domenic Parker
- 10 years ago
- Views:
Transcription
1 Introduction 2 4 Introduction...4 Service Oriented Architecture...4 Security...6 Authentication 8 Authorization 10 Integration Service Bus 12 Orchestration 13 Discovery Monitoring Auditing and Logging Content syndication and content aggregation Use Cases 20 Access an authoritative source Expose an authoritative source Authenticate a user Authorize a user Exposing a service Design the service interface 22 Provide an implementation of the interface 22 Deploy the service 22 Publish the service 22 Consuming a service Discover the service 23 Retrieve a reference to the service interface 23 Expose an application through the portal Different integration types 24 Automate a business process Transition Guidelines 31 1
2 Introduction The application architecture document serves two purposes: Define a high level architectural blueprint for e-government applications Describe a set of guidelines and best practices that should be taken into account when developing an e-government application. The first section of the document elaborated on the overall architectural blueprint. Most e- government application share a common set of non-functional requirements. By using an application framework the developers can focus on implementing functionality and delivering business value. These frameworks typically offer support for transaction management, security, concurrency, remoting, Applications expose their functionality to end-user not only directly but potentially also through the portal, and as a set of services to be used by other applications. This requires an additional set of framework services. These are services typically offered by a portal and service bus. The first section gives an overview of the support framework for building, exposing, using and integrating services. The concept of a service is key in this regard. Based on the concepts of a Service Oriented Architecture (SOA) we elaborate on the different parts of the overall e-government framework. Figure 1 gives a high level overview of the framework. Figure 1 High-level overview of the architectural blueprint This first section defines a set of common building blocks, their role and requirements. Most applications depend, to some extent on the services these common building blocks offer. In this regard one could question whether it is still appropriate that each application builds and maintains its own implementation of these services, and whether it wouldn t be beneficial if 2
3 these building bocks where offered by the framework, ready to be leveraged by others to build their applications. This becomes more and more important as integration between applications gains prevalence. In this context the potential evolution path of the e- government framework will be covered as well. After establishing a common terminology, the second part of the document will go further in detail on how to develop applications by proposing a set of guidelines based on best practices. These guidelines should help implementers develop applications and services that are usable by others, and that meet the general standards for an e-government application. Typical questions that will be addressed in this section are: How to design a service interface? What information needs to be published with regard to the services? How should authentication and authorization be handled by an application? How to develop an application ready for deployment in the Portal? What principles and practices should be taken into account when developing an application? 3
4 Introduction The section gives an overview of the different building blocks of fedict s e-government reference architecture. The primary goal of the section is to define the various building blocks of the architecture, and to describe how they work together. This will form the basis for further elaboration on the building blocks in guidelines and best practices. The architecture adheres to Service Oriented Architecture. Service Oriented Architecture Service-Oriented Architecture (SOA) is an IT strategy that organizes the discrete functions contained in enterprise applications into interoperable, standards-based services that can be combined and reused quickly to meet business needs. SOA builds on the concept of interoperable, standards-based services. A service is an exposed piece of functionality with the following properties: The contract of, or interface to the service must be platform independent and standards based. The service consumer and producer can be implemented on any platform that adheres to these open standards. The use of open standard is key. It enables reuse of services across enterprise applications. The service produces and consumer communicate via the exchange of messages. The messages the service accepts and returns are defines in the contract of interface. The structure and design of the messages should be well over thought as it completely defines the usability of a service. The service can be dynamically located and invoked. This is often referred to as the find-bind-execute cycle (see Figure 2). Dynamic discovery suggest that a central registry is available where service consumers can query for services based on criteria (e.g. interface specification, quality of service attributes, location, cost ). Once a service has been found, the service consumer binds and invokes the service. When invoking a service a set of rules or policies need to be enforced in order to prevent unauthorized access. The service must be self-contained. That is, the service maintains its own state. This requirement mandates a particular interface design that will cover in a subsequent section, and is a prerequisite for easy integration with other services. It is worth noting that the concept of a service is not limited to just faceless programming artefacts. An application that exposes its functions directly via a user interface in an easy integrable and interoperable manner can also be considered a service in the context of SOA. We will elaborate on this concept in a subsequent section. 4
5 Figure 2 Find-Bind-Execute cycle for services As the aforementioned definition states, there is more to a service-oriented architecture then just exposing functionality through a set of services. Actually services only form the starting point. Services can be leveraged to expose even richer services, and automate entire business processes. This will yield the true value of a service-oriented architecture: Improving Efficiency by leveraging existing investments to increase productivity. Reuse of existing functionality not only shortens the development cycle but also reduces the overall maintenance cost. Improving Responsiveness to stakeholders that support the business. The system needs to overall improve information gathering and fascilitate the use of the information flowing through the business. Improving Agility: Needing to rapidly adapt the business as the business changes, and avoiding having to begin from scratch with new applications and infrastructure as business requirements change. By publishing services, they can be discovered and reused more easily. This reuse forms the basis for improved agility. The impact and success of an SOA depends only partially on pure technical aspects. Nevertheless a solid and well over thought architecture is the starting point. The architecture should be an enabler by providing a platform for exposing functionality through services. As such, the platform should offer a set of value-added services or building blocks that help in developing services, and addresses problems that service implementers all face, such as: How should users authenticate to the system? How will authorization or access control be handled? How and where should services be published and discovered? What standards and rules do services have to comply with in order to be reusable? How can the application chain be monitored? What about auditing of individual services, and the service composition? How can services be reused and integrated with each other? 5
6 In the subsequent sections a set of building blocks will be introduced. Each individual building block addresses one or more of the aforementioned questions. Their combination results in a high level architectural blueprint for a service oriented architecture. Security Protecting information, and ensuring access to the services is only granted to those permitted is a key requirement. Establishing identity is a critical prerequisite in determining the legitimate actions that a subject may perform. The term Subject is used to refer to an entity that is asserting its identity. A subject is person, organization, software program, machine, or other thing making a request to a resource. To gain access to the resource, the subject lays claim to an identity. Identity refers to an individual or an entity such as a machine that might represent itself to an organization. Credentials are asserted as assertions: a claim that may be challenged before being believed, when the subject identity who possesses them wants to perform an action. Authentication is an assertion that a subject is who he claims to be, and it can be proven by verifying that the presented credentials are legitimately in the possession of the subject. Authorization is an assertion that the subject is allowed to perform a specific action, and it must be proven before the requested action can take place. Figure 3 Overview of the typical security process Figure 3 shows the typical steps in the security process: 1. In order to use a particular resource the user must have the appropriate identity. The user claims the identity by sending a set of credentials along with the request. The 6
7 credentials are then used as proof that the subject has the right to assert that the identity belongs to him. 2. When credentials are presented to the Policy Enforcement Point (PEP), they are verified by the authentication service. Credentials can be authenticated using many different methods, including simple username and password, an X509 certificate The level of authentication required, should be proportional to the risk associated with accessing the resource. 3. Once authenticated the PEP asks the Policy Decision Point (PDP) whether access is allowed for the asserted identity. 4. The PDP uses a policy to determine the entitlements and permissions associated with the resource for the asserted identity. Entitlements refer to all the services and resources the identity is allowed access (e.g. disk, KBO, ). Permissions refer to the actions that the user can perform on the resource (e.g. update a record, ). 5. The PDP transfers the decision back to the PEP. This is often referred to as an authorization assertion. 6. Based on this information the PEP allows or denies access to the service. A subject s identity can initially be established and verified in one trust domain and used in another trust domain. This identity is then said to be portable. Without portability, each organization has to acts as its own identification authority for its users. The organization has to know who its users are, and establish identity information about them, issue credentials (such as username and password), and manage the entire lifecycle of the user. In other words the organization is responsible of maintaining its entire user base. This model is no longer feasible: It prevents user from having an integrated user experience. Information does not cross the organization boundary, so the user has to re-authenticate, and present often different credentials. In the end, it is the user who pays the burden of crossing an artificial organization boundary. This is no longer considered acceptable. It limits the reusability of services. Services are used as the primary point of integration, and the user s identity must be passed to make valid authorization decisions. When a service calls a service in another organization, the user s identity may be passed to the other organization but it is not necessary valid there. The organization has the responsibility for authenticating and knowing all incoming foreign individuals. The latter would be very costly and very difficult to maintain. The security services need to provide a solution that is flexible enough to allow individual organizations to retain their own authentication and authorization systems while solving the aforementioned integration problem. SAML (Security Assertion Markup Language) specifically addresses this problem, and plays an important role in the proposed security architecture. There is more to security then authentication and authorization alone. Sensitive information should be appropriately secured when passed over the wire. In this regard one should make a distinction between protocol and content/message based security: Protocol based security, as its name suggests, works op the protocol level. SSL or TLS is the most common example of protocol security. It provides a secure communication channel between two parties, and does not interfere with the actual messages being passed between them. In order words, protocol based security is only concerned with the actual physical communication. After that it is up to the receiver to make secure the content is securely treated. Content or Message based security secures the actual content of the message being passed. This allows for a much finer granularity, for example only sensitive information in the message can be encrypted. Furthermore the contents of the message remain 7
8 secured. The owner of the private key can only decrypt the actual message. Message based security is not limited to encryption. It can also be used to digitally sign the message. The latter is important where messages should be non-repudiateable. The WS-Security standard focuses on message based security, and should be consider for securing sensitive services. Authentication Definition A Authentication 1 The process of verifying an identity claimed by or for a system entity. An authentication process consists of two steps: Identification step: Presenting an identifier to the security system. (Identifiers should be assigned carefully, because authenticated identities are the basis for other security services, such as access control service.) Verification step: Presenting or generating authentication information that corroborates (confirms) the binding between the entity and the identifier. 1 IETF RFC 2828 Internet Security Glossary 8
9 Figure 4 High level overview of the authentication service Authentication plays a central role in the overall security architecture. Almost every application requires a subject to identify. An authentication services is as such a generic and reusable building block in the e-government architecture. The following requirements should be met by the authentication service: Support for multiple authentication modules: the authentication module should support multiple authentication mechanisms including eid, token based authentication, and SAML. Support for SSO: provides users with the ability to login one time, getting authenticated access to all their applications and resources. The user must not reauthenticate if he/she has already authenticated with an appropriate authentication level. Federation. The authentication system should support federated identity, and the common open standard in this area (e.g. Liberty, SAML). The latter guarantees interoperability between different implementations. 9
10 Auditability; the authentication service is an important security boundary and must support auditing of authentication related events. Nevertheless the auditing features should take the end user s privacy into account. Privacy: the authentication service must be designed with end-user privacy in mind as such there must be no central audit log of which users accessed which applications. Performance; authentication is critical and as such the service may easily become a bottleneck. The service should be designed with performance in mind, and meet the highest performance requirements. Fault tolerant; the security service should be highly available. It is not acceptable that people cannot access the system because of a failure of the security service. Figure 4 gives a high level overview of the authentication service. Authorization Definition B Authorization An "authorization" is a right or a permission that is granted to a system entity to access a system resource. An "authorization process" is a procedure for granting such rights. To "authorize" means to grant such a right or permission. Authorization is first and foremost a policy question. The policy is a reflection of the functional requirements and security objectives in the organization. Access control will automatically enforce these policies. In the introduction to security, a distinction was made between the PEP (place in the system where to user requests access to a resource) and the PDP (place in the system where the actual authorization decision is made). In many cases the PEP and PDP are all part of the same system, but it is possible to separate the PEP from the PDP. The application could for example ask an external system to verify whether a user is allowed access, and get back a yes or no. The separation of the PEP and the PDP allows for the creation of central PDPs that can be reused across applications. This would allow for services such as s Central Delegation Service: that manages a person s delegates, and has the responsibility to take access control decisions. 10
11 Figure 5 Generic Policy outline Figure 5 shows an outline of a Policy. The Policy defines who (Subject) has the permission to execute a certain Action under certain Conditions. The subject itself could be an individual user, a static or dynamic group. Whether the user is part of a group can depend on assertions made by an attribute authority. An example of such a policy would be: doctors (subject) can view medical records of a patient (action) if they are affiliated with the patient (condition). Integration Services form the main integration point as they expose functionality ready to be used by others. Reusing existing services is one of the main drivers behind the adoption of a SOA. However exposing services should be done with care. The following should be taken into consideration: Service interface. The design of the service interface greatly impacts the usability of the service. Therefore the design should adhere to a set of principles outlined in section Service versioning. Once a service is exposed, others will depend on the service and its interface. Changing the service interface can impact all service consumers. Therefore the services must be designed to take service evolution into account. Service Policy. Every automated business task is subject to a set of rules and constraints. The policy expresses various characteristics and preferences that should be followed by the service consumer. This could for example restrict who can access the service, what type of security restrictions apply. This metadata is key in establishing good interoperability between services. It is important for the caller not only to know the interface the service exposes, but also what policies apply. Manageability. It is the responsibility of the service provider to make sure the exposed service is properly managed. The service level agreement is also part of the contact with the service consumer. As others depend on the exposed service, it should be properly managed and monitored. It is very tempting to establish a direct connection between the service consumers and the service endpoints. However each service endpoint requires some form of security, management capabilities This places a large burden on every service provider. Therefore 11
12 it is generally considered bad practice to use point-to-point integrations. An intermediary really helps the service provider by standardizing and offering these crosscutting services. This intermediary is often referred to as a service bus. Service Bus Figure 6 Overview of the Service Bus Figure 6 gives an overview of the services the bus could offer to both the service consumer and producer: Policy. A policy service restricts valid message transmissions to those that conform to the policy rules and requirements for the service. The bus could enforce these policies. Authentication Authorization Routing is responsible to deliver the message to the appropriate endpoint. The service producer no longer has to know the exact endpoint address. Furthermore, this enables the bus to route the message to the most appropriate endpoint. The endpoint selection could be based for example; on the content of the message itself (content-based routing), or on any other metric such as physical location of the service, current load, etc. Routing makes the actual location completely transparent to the service consumer. Changing the address of the service only impacts the configuration of the service bus, and no longer impacts all service consumers. 12
13 Transformation: the service transforms one message format to another. The transformation service can be used to mitigate changes to the service interface to some extent. Changes to the service interface can be handled by transformation as long as the new version of the interface exposes more information than the previous one. Monitoring: the bus can easily monitor all services it hosts, and can collect metrics about both service consumer and provider. This information can be used to verify the service level agreements, and send events when a certain exceptional condition occurs. In this context it is important that metrics can be collected based on perconsumer basis. Error Handling and Exception Management: often a set of actions needs to be taken when an exception is raised. The bus can offer the standard error handling, and trigger appropriate actions such as resending the message, informing administrators, without changing or intervening in the actual service implementation. Reporting: based on the metrics collected by the monitoring service reports can be produced. This exposes valuable information about the usage patterns of the different services, security violations, etc. Caching: the bus can optimize performance by using a cache. Message for certain often solicited services can be stored in cache and used to provide faster response times. This behaviour is completely transparent to the service consumer. Filtering and data enrichment: filters could protect the privacy of users by removing certain content from the message. The aforementioned transformation service could be used to filter the messages. It is important to note that the filtered messages should still comply with the original message interface. Data enrichment could be used to add additional information to the message. Client abstraction: the integration with the service bus must be as easy as possible, hiding the technical complexity of the integration/interaction with the service bus from the service consumer. Orchestration The introduction of a controller layer on top of the services would allow us to establish a centralized location for implementing composition logic related to the sequence in which services are executed. Orchestration is designed specifically for this purpose. It introduces a service capable of composing other services to a complete business process. Table 1 gives an overview of the characteristics of the process of workflow logic. Table 1 Characteristics of process logic Characteristics of process logic Longer running spanning from minutes, week to months. Consequences: State must be maintained and safe stored in a database for the duration of the process. It is impossible to lock resources for the entire duration of the process, and changes are committed after each activity. As such it is no longer possible to rollback these long running transactions, and typically activities are rolled back by performing undo activities. The rollback or compensation handling can become complex. Often asynchronous and synchronous in nature. Users or external systems may be triggered to perform certain activities or tasks (asynchronous). Services may be 13
14 triggered both synchronously and asynchronously. This results in the longer running nature. Coordinate work between different participants (both users and services). Figure 7 Conceptual overview of the orchestration service As shown in Figure 7 the orchestration service makes use of the services the Service Bus offers, abstracting away some of the specifics of service invocation. In order to allow for the implementation of the process logic; the orchestration service must meet the following requirements: Asynchronous invocation. Most processes will be exposed as asynchronous services (one-way MEPs). Because of the typical long running characteristic of the processes the service consumer should not be waiting for the process to reply or complete as it can take minutes, days or weeks before the process finishes. Flexible Correlation support. As the process contains state, a mechanism is needed to correlate, for example an asynchronous response from a business partner with the appropriate process instance. Using a unique identifier for each process would be a trivial way of correlating messages. However, this would require the service interface to be adapted for integration into the process. The latter is not acceptable, and therefore a more flexible correlation mechanism is needed. This will allow correlating messages based on business data and communication protocol headers, and avoids the use of implementation-specific tokens for instance routing whenever possible. Conditional branching. Some activities are only mandatory when a certain condition is true while other need to be executed when the same condition is not met. Both Iterative (e.g. while / for) and conditional support (if) is a requirement. Parallel execution of activities. Activities that do not dependent on each other can be executed in parallel. Some processes wait for response while other activities can be active concurrently. Although it is always possible to reduce parallel activities to a sequence of activities this is considered bad practice as it has a considerable impact on the performance on the process. Moreover the performance reduction has nothing to do with the process itself but with the limited technical capabilities of the solution used to automate the process. Therefore the support for parallel execution of activities is a key requirement. So, forks and joins must be supported. 14
15 Wait conditions. Process must wait until some condition becomes true. This is closely related to the asynchronous invocation requirement. Some processes may for example only continue when a response from a partner is received. The response times may vary heavily based on the service that is requested. A simple information retrieval service may respond almost instantaneous while other services require manual intervention on the part of the partner. Manual approval processes such as the decision on the validity of a request is an example of the latter. Timers and invalidation of activities when triggers fire. Some activities must be trigger automatically when timers expire. The automatic generation of reminders after a certain amount of time elapsed without response is an example. However when a response is received timely the timer should be invalidated automatically and no reminder should be sent. Persistence. The state of the process should be maintained in case of failure of the system. The process contains valuable information not only during the execution itself, but also after completion. The data can be used to calculate various metrics for auditing purposes. Support for a large amount of in-flight processes. The system will have to handle a lot of concurrent active processes. Typically this constraints the amount of processes that can be active in memory. Some processes should be kept in memory while others should be swapped to disk. Version management. Processes tend to change over time. Rules tend to change over time; processes should keep the process definition that was current at creation time. This requires the system to be able to handle multiple versions of the same process. Besides version management of running processes, the process definitions itself must also be versioned. Monitoring. The process coordinates different activities. It can be advantageous if the status of an individual process can be monitored. This would allow fast diagnosing in case of problems or failures. If the process blocks for example waiting for a response from a partner, the problem would surface immediately if adequate monitoring support is available. Compensation support. Because of the long running nature of processes, traditional ACID transaction cannot be used to execute the entire process as one unit of work. The use of ACID transactions is usually limited to local updates because of trust issues and because locks and isolation cannot be maintained for the long periods during which errors and faults can occur in a business process instance. As a result, the overall business transaction can fail or be cancelled after many ACID transactions have been committed during its progress, and the partial work done must be undone as best as possible. When things go wrong a set of application-specific activities that attempt to reverse the effects of a previous activity that was carried out, should be executed. The latter is known as compensation. Discovery Discovery related functionality is a key enabler in a successful adoption of an SOA. When services become available in the organization, they need to be discoverable by others in other be reused. However, for services to be meaningful to others, there is a need to provide information about them beyond the pure technical specifications of the service. Central in the concept of a registry is the representation of data and metadata about services. A registry offers a standard mechanism to classify, catalogue and manage services, so that they can be discovered and consumed. 15
16 The registry offers a standard way to represent information about services, and allows this information to be queried by interested parties. This allows for discovery of services both at design-time and at run-time. Typically the following scenarios apply: Lookup services implementations that are based on a common abstract interface definition. Find services providers that are classified according to a known classification scheme or identifier system. Determine the connectivity requirements for a given service such as supported security schemes, transport protocols, etc. Determine the policy for use of the service. Query for services based on a general keyword, or other metadata such as performance metrics, quality of service and cost. UDDI (Universal Description Discovery and Integration) is one of the most important standards in this area. UDDI defines of a set of services supporting the description and discovery of services (Web Services) they make available, and the interfaces, which may be used to access those services. Based on a common set of industry standards, including HTTP, XML, XML Schema, and SOAP, UDDI provides an interoperable infrastructure for a Web services-based software environment for both publicly available services and services only exposed internally within an organization. The aforementioned scenarios are supported by UDDI. Moreover, the specification has been written to be flexible so that it can absorb a diverse set of services and not be tied to any one particular technology. UDDI exposes its information as a web service, but this does not restrict the technologies of the services about which it stores information or the ways in which that information is decorated with metadata. UDDI has evolved over the years, and with release 3 has become very complete; supporting advanced yet essential features such as federation of registries. Figure 8 Overview of the registry services In order to be reusable a service provider should be able to publish metadata about the service in a registry for discovery by others. The architecture should facilitate this by providing a registry as a building block, together with a set of guidelines on what information should be published. Figure 8 gives an overview of different services the registry adds. 16
17 Monitoring The monitoring service really crosscuts all layers of the architecture. A problem at the application level, or even OS level or network level can cause a service to fail. Without a well integrated monitoring and management solution, managing the complete SOA becomes very cumbersome. Establishing a complete end-to-end monitoring framework is probably one bridge too far, as it requires hooks in the entire runtime infrastructure (network, database, application servers ). Nevertheless the service bus provides an excellent entry point for monitoring, as it handles all service requests. By gathering metrics about the various services it hosts and about the bus itself, bottlenecks can be pinpointed. In order to find the rootcause, the application that provides the service should be examined. This is the responsibility of the application owner. End-to-End monitoring is considered to be the ultimate yet costly solution. We believe an appropriate service level can be guaranteed by offering monitoring services in the service bus, together with application specific monitoring support. Auditing and Logging Auditing is an essential part of any security design. The auditing information allows auditors to reconcile events that have taken place in the application. In this matter the audit log provides a trace of events that have taken place in the application that can be used for forensic purposes after a security breach. As the events for auditing are often not completely clear prior to development of the application, it is key to support easy addition or changes to auditing events being recorded. Because of the critical nature of the information being recorded the right security measure must be taken to make sure only authorized people can access the audit logs. Where auditing traps security related events, logging is more focused on application and runtime related events. It allows system administrators, and developers to diagnose a problem that occurred in the application. The requirements with regard to the events being logged tend to change over time. Therefore the logging framework should be flexible enough to accommodate evolving requirements. The auditing and logging requirement cross cuts all applications. Therefore a reusable component can be provided to facilitate, and standardize processing of auditing and logging events. Content syndication and content aggregation The definition of a service is not limited to a pure technical concept; a service can implement the interaction with an end user as well. This allows for the creation of a service delivery platform for the end user; a Portal that aggregates the individual services to create a uniform and integrated end user experience. A Portal can be defined as: a web based application that commonly- provides personalization, single sign on, content aggregation from different sources and hosts the presentation layer of Information Systems. Aggregation is the action of integrating content from different sources within a web page. A portal may have sophisticated personalization features to provide customized content to users. Portal pages may have different set of Portlets creating content for different users. 17
18 As such it is an entry point to a set of resources that are made available to targeted user communities. For most corporate portals, the set of resources include information, applications and other resources that are specific to the relationship between user and corporation. More in particular, the portal provides a point of entry to customers to access a controlled content aggregation service. Portals enable the identity-aware delivery of content and services based on a user s identity. Users are assigned roles within the context of the organization, and the content and services they see in their portal views reflects the usage policy associated with their identities. Users can customize their views within the portal as well. Traditionally, portals have been broken out into three types: Government-to-Employee portals, which provide information and services to its employees, both internally and externally. Government-to-Business/Government portals, which provide relevant internal applications and information to external partners, for example a supply chain management portal. Government-to-Citizen portals, which typically provide information about services and offerings to a target customer audience. The content of the portal is not limited to information distribution but may also provide access to self-service applications. Examples of such applications include self-customer care, self-registration, etc. While classification of portals based on the user types holds true, this should not lead to multiple portal deployments within an organization. A single portal infrastructure can be used to provide multiple customized portal views that can focus on a single user community and aggregate and deliver content and applications required by the community. The same portal deployment should be able to use the same services (application, content, etc.) that provide external access to employees and additionally provide business partners with access to a limited set of resources. The primary responsibility of the portal service itself is the presentation of all information, applications and services to end-users. While presenting these resources, portals typically personalize the content so that end users interact with the resources in a meaningful, tailored manner. Personalization is closely related to identity management, as it requires some type of identity management to register, classify, and recognize particular users before applying personalization rules to the content that these users see. Personalization includes the ability to automatically choose and modify applications that users are able to access or use, based on their roles. Personalization enables aggregation and delivery of personalized content to multiple communities of users simultaneously. Support for syndication is essential. Without good support for syndication, content and applications are closely linked to the portal provider itself, and neither content nor services can be shared among different portals. The responsibilities of the portal provider should be limited as much as possible to Portal container itself. The container should offer standard support allowing others, more in particular the Portlet providers, to add their content and applications to the Portal in a standard way. The Portlet provider remains the owner of the services they publish. As Figure 9 shows, this results in an interaction between the Portal and Portlet provider that is similar to the find-bind-execute schema covered in the Service Oriented Architecture section. The Portlet provider publishes its Portlets (services) in the registry. The Portal provider can query the registry for available Portlets, and add them to the Portal. 18
19 Figure 9 Overview of the Portal services 19
20 Use Cases This section describes the role of the different architectural building blocks in a set of common use cases. This section focuses on the benefits the building blocks provide for all stakeholders. Access an authoritative source An authoritative source can be considered as a read-intensive data service. Accessing the service can be decomposed in the following steps: 1. The consumer looks up the requested service in the Service Registry. The registry contains besides the actual interface of the service, information on the applicable policy, quality of service, cost, etc. By querying the Service Registry the consumer may find additional providers. 2. After selecting the service based on the consumer s requirements, the consumer generates a stub for this service. The generated stub encapsulates the specifics of the interaction with the service. This approach aims at freeing the service consumer from the actual technical details of the interaction as much as possible. 3. The consumer accesses the data service using the FSB. The FSB will enforce the applicable policy with regard to security by collaborating with the authentication and authorization service. The FSB routes the request to the appropriate service. The FSB makes sure that all request are properly logged, and may use its internal caching service to speed up the request processing. The latter is completely transparent to the service consumer. The proposed architecture holds a set of benefits for the service consumer: It simplifies the interaction with the service by hiding the technical specifics of the invocation as much as possible. By providing a central repository of services, it makes service easy to find and triggers the reuse of services. It standardizes the documentation (metadata) available for the services. It allows the service consumer to make abstraction from the actual location of the service. The FSB supports graceful evolution of the service interface. The central management infrastructure allows faster diagnostics in case of problems. Expose an authoritative source When exposing an authoritative source: 1. Metadata should be provided 2. Configuration on the ESB 3. Data aggregation/enrichment, transformation rules, Authenticate a user Often a user has to be authenticated before accessing an application. The architecture proposes the use of a central and reusable authentication service. This will free the individual applications from handling authentication themselves. In this perspective authentication can be seen from a user s perspective and application developer s perspective. For the application developer authentication is delegated to the central security server. The application needs to be integrated with the central security server. This can be done on an application level (using a Filter for example), or infrastructure/container level. The latter is 20
21 probably the easiest way, as it requires only the appropriate changes to the configuration of the infrastructure/container. In a J2EE context a custom Realm could be provided that handles authentication. As such the actual integration with the security service becomes transparent for the application developer. The end user will benefit from a uniform authentication experience: 1. When a user tries to access an application, the system checks whether the user has already authenticated. 2. If the user has not authenticated yet: a. The user is redirected to the central authentication service and prompted to enter her/his credentials. b. The system validates the credentials of the user. 3. If the user is successfully authenticated he/she is redirected after the authorization decision to the actual application. The use of a central authentications service holds a set of benefits for both the end-customer as the application owner: Offers the end user gets a uniform authentication experience. Supports Single Sign-on between different applications. Establishes single point of contact for user management. Minimizes the effort to integrate with the existing authentication mechanisms such as token and eid. Establishes a loose coupling between the authentication service and the actual applications. The authentication service itself can evolve with a minimal impact on the applications. Support for identity propagation when invoking internal and external services. Authorize a user Only authorized users are allowed access to applications. The rules or policies that apply should be enforced at all times. The decisions to allow of deny the execution of an action such as access to a certain URL, update an object is made in the policy decision point (PDP). The PDP can be local to or embedded in the application, can be a global service or a combination of all three. Delegate management is an example of such a global service, as it implements the delegate management business processes cross application. When a user accesses an application the following steps take place: 1. The policy enforcement point (PEP) accesses the policy decision point (PDP) in order to verify whether the user is allowed access. All information required to validate the policy should be provided. 2. The PDP evaluates the policy, and allows of denies access to the resource. 3. The PEP enforces the decision of the PDP and allows or denies the user access to the resource. A central PDP has benefits, but also drawbacks: It establishes central source of information with regard to the policies that apply. It becomes possible to get an overview of the actions a user can perform. It provides a central framework for policy management. The PDP can become a bottleneck, as all decisions are made by the PDP. May require additional yet application specific information to be made available to the PDP in order to make the proper decision. 21
22 Establishing a single central PDP is probably not feasible due to the complexity introduced to support all policy needs for a widely heterogeneous set of applications. Nevertheless some policies can be enforced on a central level, while others remain the responsibility of the application itself. Exposing a service One of the most important things that need to be done when thinking about publishing a service is to design an interface for that service. The public interface is the exterior view of our service, and is the primary interface that our clients will have to deal with. Therefore, some special attention needs to be given to the design of that interface, making sure it complies with the service interface design guidelines. This part will outline the steps that need to be performed by a service producer before he is able to publish his service to the registry, allowing consumers to make use of it. In order to expose a service, the service producer will need to perform the following tasks: Design the service interface Provide an implementation of that interface Deploy the service Publish the service As far as designing the service goes, please refer to the service interface specifications guidelines. Design the service interface In order to ensure interoperability between services, the service producer should be WSI Basic Profile compliant. The guidelines for service interface design are covered in some extent in the interface specifications guidelines document. Provide an implementation of the interface The implementer should only focus on the business logic and compliance with the interface. He shouldn t be aware of the fact that his service will be consumed as a webservice. In many cases, existing service logic can potentially be reused, and exposing that functionality usually involves exposing the service façade interface, or writing a web service façade around existing services within the application. Deploy the service The actual deployment of the service doesn t differ from traditional web application deployments. The service implementation will be deployed on an application server as is the case right now. Publish the service Services in a Service Oriented Architecture follow the Publish-Discover-Invoke model where a particular service is published to a Web Services Directory (UDDI). That service, once published, can be discovered by a service consumer. After discovery, the service consumer can invoke the service. 22
23 In any service oriented architecture, we need some kind of registry that is used to acts as a container for the various services. UDDI (Universal Description, Recovery and Integration) provides this registry mechanism so that clients can easily find the services they re interested in.it basically provides a registry API (based on WSDL / SOAP) for registering and discovering web services. UDDI registries can be classified as: Public - UDDI registries can be accessed by anyone, while typically Private - UDDI registries will only permit access to authorized users. Most UDDI registries provide some kind of integration with external authentication/authorization systems. Consuming a service In order to expose a service, the service producer will need to perform the following tasks Discover the service interface via UDDI Retrieve a reference to the service interface Invoke methods on the interface Discover the service The first thing a service consumer has to do is discover the service he s interested in. This is usually done via a UDDI registry. The main piece of information a service consumer needs is the WSDL definition of the service. The WSDL describes the public interfaces associated with the service (public methods, parameter types, return types ) Based on the WSDL file, we can generate the necessary artifacts that are needed to interact with the webservice. Retrieve a reference to the service interface Most web service toolkits allow for the generation of stubs/proxies (based on the WSDL file provided by UDDI), in order to hide the lower level plumbing code associated with accessing a webservice (connecting to the endpoint, marshalling & un-marshalling XML messages ). The amount of work needed for a developer to interact with a webservice should be reduced to a minimum. A first step in achieving this is to have the service consumer use a webservice toolkit that has been approved by Fedict. That way, development teams should make use of a standardized way of interacting with Webservices that will streamline the overall process of connecting to a Webservice endpoint. The service interface API is the API that the client will use to consume the service. This API is typically provided by the webservices toolkit supported by the platform. 23
24 Should it prove necessary, Fedict could provide an API that acts as a wrapper for these webservice toolkits that could provide additional services (ex: guarantying the secured exchange of messages between parties), making it easier for development teams to correctly implement a secure end-to-end scenario using webservices. Expose an application through the portal The enterprise portal is increasingly becoming one of the basic building blocks in any service oriented architecture. All major vendors are offering a portal solution, and the industry is trying to consolidate on all the development efforts surrounding it by creating standards such as JSR-168 (Portlet Specification) and WSRP (Web Services for Remote Portlets). A typical portal offering has the following features: a development platform for writing portlets an execution platform for running portlets an integration platform that can be used to incorporate a set of existing applications into the corporate portal. The primary goal of the enterprise portal is to provide a uniform view to a set of different applications. Some effort needs to be put in integrating those applications within the portal environment. There are several integration types available that allow for existing applications to be plugged into the portal environment. Different integration types Link The easiest way to integrate an existing application is by providing a simple link on the portal. The link will bring the user to the target application while leaving the portal. The downside of this approach is that the application won t be integrated in the portal (upon clicking on the link, the user will enter the application, leaving the portal). Single Sign On can still be achieved with this type of integration, providing that the necessary portal infrastructure has been put into place (this usually involves setting up Agents in front of the application in order to propagate the identity and achieve single sign on). Recommended usage: When the target application is beyond your control and no customization is possible in order to integrate it with the portal. When no tight integration is required Provides the easiest and quickest way to add applications to the portal. No real requirements in terms of security need to be fulfilled. This can be an integration strategy that will allow application that are remotely deployed to be plugged into the portal. Web Clippings/URL Scraping Web Clipping is all about capturing a subset of screen data coming from an external source. For example, an employee website might have a page that is able to show the employees working for a particular department. 24
25 Most Web Clipping portlets will have some kind of user interface, enabling the visual selection of screen portions by business users in order to integrate that external content into the portal. In the screenshot below, you can see how a portal administrator has visually selected portions of a particular screen. Figure 10 Clipping pieces of HTML After selecting the required pieces of text, the portal administrator can preview his selection before placing it on the portal. Figure 11 Web clipping preview Once the administrator is happy with his clipping efforts, the resulting portlet can be placed on the screen. Updates to the original page will automatically be propagated to the new portal. 25
26 Figure 12 Web clipping portlet on the portal page Recommended usage scenarios: Web clipping shouldn t be taken seriously when trying to integrate fully fledged business applications into the portal. It can be used however to show specific pieces of information that has been pulled from remote sites. This integration type isn t really suited for real application integration. Display Sometimes, we only need to portalize a small part of our application. Imagine a portal page that displays a portlet containing news items. We could write a simple portlet that displays simply the list of news items. Upon clicking on an item, the portal would redirect the user to the news application (full screen). Figure 13 News Portlet integrated in the portal 26
27 Upon clicking on a news item, a new page is opened and the user leaves the portal desktop (as opposed to showing the news item in the portal page itself) Figure 14 External news site This goes to show that it s not always necessary to integrate the entire application to the portal. Provided that the application is well designed (using a multi-layered approach, with a clear separation of presentation and business logic), the business logic of the application can be reused to build the portlet. That way, the business logic of retrieving the list of news items could be reused inside the portlet implementation. Recommended usage This integration type should be used to if an application has one or more screens that act as an entry point to the application, and provide an added value when being placed on the portal. A list of news items is a good example here, as it will give the users an immediate view of news item, well integrated in the portal. Integrated In order to have let the user perform its tasks without ever leaving the portal, we need to integrate existing applications by portalizing them completely. This involves the execution of all use cases via the portlet, allowing the user to stay on the portal. This means that all screens that are provided by the application need to be able to run in a portlet. The following screenshots shows an application that is spread out across 3 different portlets. The user has a uniform view into the application, and never has to leave the portal. 27
28 Figure 15 Application integrated in the portal This solution involves writing presentation logic code in order to integrate the application into the portal. Service and business logic can potentially be reused, provided that the application that needs to be integrated has been developed using a layered approach, where the presentation logic is clearly separated from the service/business logic. Obviously, this is the tightest integration pattern possible, and allows you application to make full use of services provided by the portal (single sign on, personalization ) Recommended usage: If you have full control over the application, and the application has an added value when being run in the portal. When developing new applications that will only run in the portal. When developing applications that rely heavily on the services offered by the portal. Remote Portlets Another way to integrate existing applications into a portal is by using WSRP. WSRP (Web Services For Remote Portlets) is an OASIS web service standard that allows for presentation oriented webservices. These webservices do not only provide business logic, but also handle presentation logic associated with the service. By adding the presentation logic to the service, integrating existing applications into the portal becomes a lot easier, as no presentation logic (portlet code) needs to be developed in order for the application to integrate into the portal. Without programming effort, a portal administrator can select various services (remote portlets), and plug them into the portal. 28
29 Figure 16 WSRP interaction schema In the image above, we can see that 1. A WSRP producer has published a couple of services (portlets) into a UDDI registry. 2. A WSRP consumer has the ability to discover those services through the UDDI registry 3. The administrator for the WSRP consumer (typically also a portal server) can request the markup that is generated by the remote portlet, and aggregate that markup on the local portal. Proxy portlets are used to represent the remote portlets offered by the WSRP producer on the local portal. These proxy portlets will simply proxy the user requests through to the WSRP producer, who in turn sends back markup fragments to the proxy portlet running in the local portal. In other words, WSRP allows you to reuse existing user interfaces when integrating applications into the portal. WSRP uses SOAP over HTML for exchanging messages between the WSRP consumer and WSRP producer. This is a fairly loosely coupled way of integrating remote applications into the portal. WSRP allows for security information to be propagated from the consumer to the producer. Recommended usage : WSRP is great for integrating applications you have no control over. It s up to the WSRP producer to expose the portlet as a webservice. The WSRP consumer just needs a proxy portlet to connect to the actual portal instance 29
30 Automate a business process Role of the BPM. Orchestration on service level. 30
31 Transition Guidelines This section proposes a transition path from the current, as-is architecture to the to-be architecture. In every phase in the transition path a set of guidelines apply. This is work in progress. Figure 17 Current Architecture 31
32 Figure 18 UME and FSB Coexistance 32
33 Figure 19 Phase out of UME 33
34 Figure 20 Web Services 34
Service-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
Service-Oriented Architectures
Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems
A standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist [email protected] Copyright IBM Corporation 2005. All rights
Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)
Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards) Michael P. Papazoglou (INFOLAB/CRISM, Tilburg University, The Netherlands)
Service Virtualization: Managing Change in a Service-Oriented Architecture
Service Virtualization: Managing Change in a Service-Oriented Architecture Abstract Load balancers, name servers (for example, Domain Name System [DNS]), and stock brokerage services are examples of virtual
AquaLogic Service Bus
AquaLogic Bus Wolfgang Weigend Principal Systems Engineer BEA Systems 1 What to consider when looking at ESB? Number of planned business access points Reuse across organization Reduced cost of ownership
Secure Identity Propagation Using WS- Trust, SAML2, and WS-Security 12 Apr 2011 IBM Impact
Secure Identity Propagation Using WS- Trust, SAML2, and WS-Security 12 Apr 2011 IBM Impact Robert C. Broeckelmann Jr., Enterprise Middleware Architect Ryan Triplett, Middleware Security Architect Requirements
White Paper Cybercom & Axiomatics Joint Identity & Access Management (R)evolution
White Paper Cybercom & Axiomatics Joint Identity & Access Management (R)evolution Federation and Attribute Based Access Control Page 2 Realization of the IAM (R)evolution Executive Summary Many organizations
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
Sentinet for BizTalk Server SENTINET
Sentinet for BizTalk Server SENTINET Sentinet for BizTalk Server 1 Contents Introduction... 2 Sentinet Benefits... 3 SOA and APIs Repository... 4 Security... 4 Mediation and Virtualization... 5 Authentication
API Architecture. for the Data Interoperability at OSU initiative
API Architecture for the Data Interoperability at OSU initiative Introduction Principles and Standards OSU s current approach to data interoperability consists of low level access and custom data models
Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence
Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence Service Oriented Architecture SOA and Web Services John O Brien President and Executive Architect Zukeran Technologies
Run-time Service Oriented Architecture (SOA) V 0.1
Run-time Service Oriented Architecture (SOA) V 0.1 July 2005 Table of Contents 1.0 INTRODUCTION... 1 2.0 PRINCIPLES... 1 3.0 FERA REFERENCE ARCHITECTURE... 2 4.0 SOA RUN-TIME ARCHITECTURE...4 4.1 FEDERATES...
An Oracle White Paper October 2013. Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus
An Oracle White Paper October 2013 Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus Table of Contents Introduction...
SOA REFERENCE ARCHITECTURE: WEB TIER
SOA REFERENCE ARCHITECTURE: WEB TIER SOA Blueprint A structured blog by Yogish Pai Web Application Tier The primary requirement for this tier is that all the business systems and solutions be accessible
Table of Contents. 1 Executive Summary... 2 2. SOA Overview... 3 2.1 Technology... 4 2.2 Processes and Governance... 8
Table of Contents 1 Executive Summary... 2 2. SOA Overview... 3 2.1 Technology... 4 2.2 Processes and Governance... 8 3 SOA in Verizon The IT Workbench Platform... 10 3.1 Technology... 10 3.2 Processes
Web Applications Access Control Single Sign On
Web Applications Access Control Single Sign On Anitha Chepuru, Assocaite Professor IT Dept, G.Narayanamma Institute of Technology and Science (for women), Shaikpet, Hyderabad - 500008, Andhra Pradesh,
1 What Are Web Services?
Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1) E14294-04 January 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include: What
SOA GOVERNANCE MODEL
SOA GOVERNANCE MODEL Matjaz B. Juric University of Ljubljana, Slovenia [email protected] Eva Zupancic University of Ljubljana, Slovenia Abstract: Service Oriented Architecture (SOA) has become
An Oracle White Paper Dec 2013. Oracle Access Management Security Token Service
An Oracle White Paper Dec 2013 Oracle Access Management Security Token Service Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only,
Service Mediation. The Role of an Enterprise Service Bus in an SOA
Service Mediation The Role of an Enterprise Service Bus in an SOA 2 TABLE OF CONTENTS 1 The Road to Web Services and ESBs...4 2 Enterprise-Class Requirements for an ESB...5 3 Additional Evaluation Criteria...7
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
Introduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
Getting Started with Service- Oriented Architecture (SOA) Terminology
Getting Started with - Oriented Architecture (SOA) Terminology Grace Lewis September 2010 -Oriented Architecture (SOA) is a way of designing, developing, deploying, and managing systems it is neither a
The Way to SOA Concept, Architectural Components and Organization
The Way to SOA Concept, Architectural Components and Organization Eric Scholz Director Product Management Software AG Seite 1 Goals of business and IT Business Goals Increase business agility Support new
Introduction to UDDI: Important Features and Functional Concepts
: October 2004 Organization for the Advancement of Structured Information Standards www.oasis-open.org TABLE OF CONTENTS OVERVIEW... 4 TYPICAL APPLICATIONS OF A UDDI REGISTRY... 4 A BRIEF HISTORY OF UDDI...
1 What Are Web Services?
Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1.6) E14294-06 November 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include:
IT Architecture Review. ISACA Conference Fall 2003
IT Architecture Review ISACA Conference Fall 2003 Table of Contents Introduction Business Drivers Overview of Tiered Architecture IT Architecture Review Why review IT architecture How to conduct IT architecture
OPENIAM ACCESS MANAGER. Web Access Management made Easy
OPENIAM ACCESS MANAGER Web Access Management made Easy TABLE OF CONTENTS Introduction... 3 OpenIAM Access Manager Overview... 4 Access Gateway... 4 Authentication... 5 Authorization... 5 Role Based Access
Designing an Enterprise Application Framework for Service-Oriented Architecture 1
Designing an Enterprise Application Framework for Service-Oriented Architecture 1 Shyam Kumar Doddavula, Sandeep Karamongikar Abstract This article is an attempt to present an approach for transforming
What You Need to Know About Transitioning to SOA
What You Need to Know About Transitioning to SOA written by: David A. Kelly, ebizq Analyst What You Need to Know About Transitioning to SOA Organizations are increasingly turning to service-oriented architectures
Implementation Guide SAP NetWeaver Identity Management Identity Provider
Implementation Guide SAP NetWeaver Identity Management Identity Provider Target Audience Technology Consultants System Administrators PUBLIC Document version: 1.10 2011-07-18 Document History CAUTION Before
Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus
Introduction to WebSphere Process Server and WebSphere Enterprise Service Bus Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 Unit objectives
Service-Oriented Architecture and its Implications for Software Life Cycle Activities
Service-Oriented Architecture and its Implications for Software Life Cycle Activities Grace A. Lewis Software Engineering Institute Integration of Software-Intensive Systems (ISIS) Initiative Agenda SOA:
Securing Web Services With SAML
Carl A. Foster CS-5260 Research Project Securing Web Services With SAML Contents 1.0 Introduction... 2 2.0 What is SAML?... 2 3.0 History of SAML... 3 4.0 The Anatomy of SAML 2.0... 3 4.0.1- Assertion
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies 3-day seminar Give Your Business the Competitive Edge SOA has rapidly seized the momentum and center stage because
Five best practices for deploying a successful service-oriented architecture
IBM Global Services April 2008 Five best practices for deploying a successful service-oriented architecture Leveraging lessons learned from the IBM Academy of Technology Executive Summary Today s innovative
A Quick Introduction to SOA
Software Engineering Competence Center TUTORIAL A Quick Introduction to SOA Mahmoud Mohamed AbdAllah Senior R&D Engineer-SECC [email protected] Waseim Hashem Mahjoub Senior R&D Engineer-SECC Copyright
Service Oriented Architecture (SOA) An Introduction
Oriented Architecture (SOA) An Introduction Application Evolution Time Oriented Applications Monolithic Applications Mainframe Client / Server Distributed Applications DCE/RPC CORBA DCOM EJB s Messages
IGI Portal architecture and interaction with a CA- online
IGI Portal architecture and interaction with a CA- online Abstract In the framework of the Italian Grid Infrastructure, we are designing a web portal for the grid and cloud services provisioning. In following
SOA Success is Not a Matter of Luck
by Prasad Jayakumar, Technology Lead at Enterprise Solutions, Infosys Technologies Ltd SERVICE TECHNOLOGY MAGAZINE Issue L May 2011 Introduction There is nothing either good or bad, but thinking makes
WebLogic Server 7.0 Single Sign-On: An Overview
WebLogic Server 7.0 Single Sign-On: An Overview Today, a growing number of applications are being made available over the Web. These applications are typically comprised of different components, each of
Realizing business flexibility through integrated SOA policy management.
SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished
Integration using IBM Solutions
With special reference to integration with SAP XI Email: [email protected] Table of contents Integration using IBM Solutions Executive Summary...3 1. Introduction...4 2. IBM Business Integration
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies 3-day seminar Give Your Business the Competitive Edge SOA has rapidly seized the momentum and center stage because
White Paper Delivering Web Services Security: The Entrust Secure Transaction Platform
White Paper Delivering Web Services Security: September 2003 Copyright 2003 Entrust. All rights reserved. Entrust is a registered trademark of Entrust, Inc. in the United States and certain other countries.
Setting Up an AS4 System
INT0697_150625 Setting up an AS4 system V1r0 1 Setting Up an AS4 System 2 Version 1r0 ENTSOG AISBL; Av. de Cortenbergh 100, 1000-Brussels; Tel: +32 2 894 5100; Fax: +32 2 894 5101; [email protected], www.entsog.eu,
SOA Planning Guide. 2015 The Value Enablement Group, LLC. All rights reserved.
SOA Planning Guide 1 Agenda q SOA Introduction q SOA Benefits q SOA Principles q SOA Framework q Governance q Measurement q Tools q Strategic (long term) View 2 Introduction to SOA q Service-oriented architecture
Federal Enterprise Architecture and Service-Oriented Architecture
Federal Enterprise Architecture and Service-Oriented Architecture Concepts and Synergies Melvin Greer Chief Strategist, SOA / Cloud Computing Certified Enterprise Architect Copyright August 19, 2010 2010
E-Business Suite Oracle SOA Suite Integration Options
Specialized. Recognized. Preferred. The right partner makes all the difference. E-Business Suite Oracle SOA Suite Integration Options By: Abhay Kumar AST Corporation March 17, 2014 Applications Software
Web Service Implementation Methodology
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 Web Service Implementation Methodology Public Review Draft 1.0, 05 September 2005
SOA REFERENCE ARCHITECTURE: SERVICE TIER
SOA REFERENCE ARCHITECTURE: SERVICE TIER SOA Blueprint A structured blog by Yogish Pai Service Tier The service tier is the primary enabler of the SOA and includes the components described in this section.
David Pilling Director of Applications and Development
Service Oriented Architecture for Law Firms: SOA is inevitable, are you ready? David Pilling Director of Applications and Development "Things should be made as simple as possible, but no simpler. -- Albert
Internationalization and Web Services
Internationalization and Web Services 25 th Internationalization and Unicode Conference Presented by Addison P. Phillips Director, Globalization Architecture webmethods, Inc. 25 th Internationalization
Accelerate your SOA Projects through Service Simulation
Accelerate your SOA Projects through Service Simulation Overview Modern web services-based Service Oriented Architecture (SOA) enables service consumers and producers to exchange messages over ubiquitous
Introduction to Service-Oriented Architecture for Business Analysts
Introduction to Service-Oriented Architecture for Business Analysts This course will provide each participant with a high-level comprehensive overview of the Service- Oriented Architecture (SOA), emphasizing
Service Oriented Architecture 1 COMPILED BY BJ
Service Oriented Architecture 1 COMPILED BY BJ CHAPTER 9 Service Oriented architecture(soa) Defining SOA. Business value of SOA SOA characteristics. Concept of a service, Enterprise Service Bus (ESB) SOA
HP SOA Systinet software
HP SOA Systinet software Govern the Lifecycle of SOA-based Applications Complete Lifecycle Governance: Accelerate application modernization and gain IT agility through more rapid and consistent SOA adoption
Technical Track Session Service-Oriented Architecture
Technical Track Session Service-Oriented Architecture Terry Woods Agenda A little history What is Service-Oriented Architecture? How do you build a Service-Oriented Architecture Solution? What is an Enterprise
BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use
Product Data Sheet BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use BEA AquaLogic Integrator delivers the best way for IT to integrate, deploy, connect and manage process-driven
Oracle Service Bus Examples and Tutorials
March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan
SOA Myth or Reality??
IBM TRAINING S04 SOA Myth or Reality Jaqui Lynch IBM Corporation 2007 SOA Myth or Reality?? Jaqui Lynch Mainline Information Systems Email [email protected] Session S04 http://www.circle4.com/papers/s04soa.pdf
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7, No. 8, November-December 2008 What s Your Information Agenda? Mahesh H. Dodani,
Government Service Bus
Government Service Bus The GSB (Government Service Bus) is intended to become the central platform of integration and services for the provision of government electronic services and transactions, and
Contents. Overview 1 SENTINET
Overview SENTINET Overview 1 Contents Introduction... 3 Customer Benefits... 4 Development and Test... 4 Production and Operations... 5 Architecture... 5 Technology Stack... 8 Features Summary... 8 Sentinet
Policy Driven Practices for SOA
Independent Insight for Oriented Practice Policy Driven Practices for SOA Lawrence Wilkes CBDI Forum www.cbdiforum.com Agenda! Enterprise SOA Challenge! SOA Policy Areas! Layered Architecture as a basis
AquaLogic ESB Design and Integration (3 Days)
www.peaksolutions.com AquaLogic ESB Design and Integration (3 Days) Audience Course Abstract Designed for developers, project leaders, IT architects and other technical individuals that need to understand
Definition of SOA. Capgemini University Technology Services School. 2006 Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2
Gastcollege BPM Definition of SOA Services architecture is a specific approach of organizing the business and its IT support to reduce cost, deliver faster & better and leverage the value of IT. November
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL
CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter
SOA CERTIFIED JAVA DEVELOPER (7 Days)
SOA CERTIFIED JAVA DEVELOPER (7 Days) To achieve this certification, the following exams must be completed with a passing grade: Exam S90.01: Fundamental SOA & Service-Oriented Computing Exam S90.02: SOA
SOA CERTIFIED CONSULTANT
SOA CERTIFIED CONSULTANT (5 Days) A Certified SOA Consultant is required to obtain proficiency in a cross-section of key SOA topic areas, including both conceptual and technical aspects of service-oriented
USING FEDERATED AUTHENTICATION WITH M-FILES
M-FILES CORPORATION USING FEDERATED AUTHENTICATION WITH M-FILES VERSION 1.0 Abstract This article provides an overview of federated identity management and an introduction on using federated authentication
Developers Integration Lab (DIL) System Architecture, Version 1.0
Developers Integration Lab (DIL) System Architecture, Version 1.0 11/13/2012 Document Change History Version Date Items Changed Since Previous Version Changed By 0.1 10/01/2011 Outline Laura Edens 0.2
SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture
SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q Number: S90-03A Passing Score: 800 Time Limit: 120 min File Version: 14.5 http://www.gratisexam.com/ Exam Code: S90-03A Exam Name:
Research on the Model of Enterprise Application Integration with Web Services
Research on the Model of Enterprise Integration with Web Services XIN JIN School of Information, Central University of Finance& Economics, Beijing, 100081 China Abstract: - In order to improve business
Evaluation of different Open Source Identity management Systems
Evaluation of different Open Source Identity management Systems Ghasan Bhatti, Syed Yasir Imtiaz Linkoping s universitetet, Sweden [ghabh683, syeim642]@student.liu.se 1. Abstract Identity management systems
SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901.
Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901 SOA, case Google Written by: Sampo Syrjäläinen, 0337918 Jukka Hilvonen, 0337840 1 Contents 1.
Getting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
How To Build A Financial Messaging And Enterprise Service Bus (Esb)
Simplifying SWIFT Connectivity Introduction to Financial Messaging Services Bus A White Paper by Microsoft and SAGA Version 1.0 August 2009 Applies to: Financial Services Architecture BizTalk Server BizTalk
SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008
SOA Fundamentals For Java Developers Alexander Ulanov, System Architect Odessa, 30 September 2008 What is SOA? Software Architecture style aimed on Reuse Growth Interoperability Maturing technology framework
Introduction to SAML
Introduction to THE LEADER IN API AND CLOUD GATEWAY TECHNOLOGY Introduction to Introduction In today s world of rapidly expanding and growing software development; organizations, enterprises and governments
White Paper The Identity & Access Management (R)evolution
White Paper The Identity & Access Management (R)evolution Federation and Attribute Based Access Control Page 2 A New Perspective on Identity & Access Management Executive Summary Identity & Access Management
Software Requirement Specification Web Services Security
Software Requirement Specification Web Services Security Federation Manager 7.5 Version 0.3 (Draft) Please send comments to: [email protected] This document is subject to the following license:
Enterprise Digital Identity Architecture Roadmap
Enterprise Digital Identity Architecture Roadmap Technical White Paper Author: Radovan Semančík Date: April 2005 (updated September 2005) Version: 1.2 Abstract: This document describes the available digital
The case for service oriented architecture in realising trusted, interoperable, pan-european egovernment services.
The case for service oriented architecture in realising trusted, interoperable, pan-european egovernment services. Stephen McGibbon Microsoft EMEA Tel. +445511490070 Email. [email protected] Abstract:
IAM Application Integration Guide
IAM Application Integration Guide Date 03/02/2015 Version 0.1 DOCUMENT INFORMATIE Document Title IAM Application Integration Guide File Name IAM_Application_Integration_Guide_v0.1_SBO.docx Subject Document
Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.
WSJ: SOA Myths About Service-Oriented Architecture Demystifying SOA Service-oriented architecture (SOA) refers to an architectural solution that creates an environment in which services, service consumers,
e-gov Architecture Service Interface Guidelines
1 Introduction... 4 2 Mandatory Standards... 5 2.1 WSDL... 5 2.1.1 Service Definition Layer... 5 2.1.2 Binding Layer... 6 2.2 SOAP... 7 2.3 UDDI... 8 2.3.1 Different types of UDDI registries... 8 2.3.2
WEB SERVICES SECURITY
WEB SERVICES SECURITY February 2008 The Government of the Hong Kong Special Administrative Region The contents of this document remain the property of, and may not be reproduced in whole or in part without
Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
OpenHRE Security Architecture. (DRAFT v0.5)
OpenHRE Security Architecture (DRAFT v0.5) Table of Contents Introduction -----------------------------------------------------------------------------------------------------------------------2 Assumptions----------------------------------------------------------------------------------------------------------------------2
Apigee Gateway Specifications
Apigee Gateway Specifications Logging and Auditing Data Selection Request/response messages HTTP headers Simple Object Access Protocol (SOAP) headers Custom fragment selection via XPath Data Handling Encryption
Oracle SOA Reference Architecture
http://oraclearchworld.wordpress.com/ Oracle SOA Reference Architecture By Kathiravan Udayakumar Introduction to SOA Service Oriented Architecture is a buzz word in IT industry for few years now. What
Using SAML for Single Sign-On in the SOA Software Platform
Using SAML for Single Sign-On in the SOA Software Platform SOA Software Community Manager: Using SAML on the Platform 1 Policy Manager / Community Manager Using SAML for Single Sign-On in the SOA Software
NIST s Guide to Secure Web Services
NIST s Guide to Secure Web Services Presented by Gaspar Modelo-Howard and Ratsameetip Wita Secure and Dependable Web Services National Institute of Standards and Technology. Special Publication 800-95:
Sentinet for BizTalk Server SENTINET 3.1
for BizTalk Server SENTINET 3.1 for BizTalk Server 1 Contents Introduction... 2 SOA and APIs Repository... 3 Security... 3 Mediation and Virtualization... 3 Authentication and Authorization... 4 Monitoring,
Service Oriented Architecture: A driving force for paperless healthcare system
2012 International Conference on Computer Technology and Science (ICCTS 2012) IPCSIT vol. 47 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V47.16 Service Oriented Architecture: A driving
