OAG/OES Integration for Web API Security: skin and guts by Andre Correa

Introduction

When it comes to defining a strategy for web API security, OAG (Oracle API Gateway) and OES (Oracle Entitlements Server) together present a very interesting choice and are a very powerful combination indeed.

In this post we’re going to take a look at what each component brings in (the skin) and then get our hands on actually describing the integration in detail (the guts).

OAG is designed to inspect and act on various types of messages that are delivered to it or just pass through it. It’s usually positioned to be deployed on the DMZ (the De-Militarized Zone) within corporate networks. As such, it can block malicious traffic, authenticate users with a variety of protocols, integrate with anti-virus products, perform message throttling, thus delivering only the good stuff to your intranet servers and also off-loading them, decisively contributing to achieve some IT operational SLAs. More than that, OAG can switch protocols and transform messages. For instance, an organization may have SOAP-based web services and want to expose them as REST without any re-writing. Or implement SAML federation without touching origin systems. Or talk Kerberos or OAuth with clients and speak SAML with back-end servers. Or use it as an FTP server so that incoming files are immediately sent to a processing pipeline. The possibilities are numerous. Having mentioned these few features and examples, it’s not unreasonable to think deploying OAG inside intranets. And that’s not unusual, actually. It is a nice bridge with obvious benefits.

OES is designed to provide fine-grained authorization with externalized policies to client applications. It takes the coding of access decisions away from developers. Besides the obvious security pro, it shortens the change cycle, when a new security policy needs to be deployed. You simply avoid going through all the phases required for re-deploying your application just because of that change. It’s true the new policy needs testing, but that’s nowhere near when compared to what it takes to re-deploy a new application version. The time to market is drastically reduced. Now to the fine-grained part. OES can take a bunch of aspects in consideration when authorizing: the user identity, user roles, user attributes, context information about the request being made (like originating IP address), factors external to the request (like time of day, day of week, etc) and, of course, request data. Those combined makes it a very powerful authorization engine. It’s not coincidence that OES is the component behind OAM’s (Oracle Access Manager) authorization engine.

While OAG itself brings in authorization capabilities, in this field OES offers a much richer model. And if the organization already employs OES elsewhere, integrating it with OAG makes a lot of sense, because we end up with a single and consistent approach for authorization across applications.

Main Article

The Integration

OES basic architecture comprises a server and different client modules, called SMs (Security Modules). The server connects to a repository where policies are physically kept. The SMs are attached to client applications and connect either to OES server or to the repository directly, depending on their configured mode (I will touch up on this later). There are SMs available for Java, RMI, web services, Weblogic server, Websphere, JBoss, MS Sharepoint. When integrating with OAG, a Java SM is used. Despite its core being a C process, OAG forks up a JVM for some of its functions.
The integration hook between OAG and OES is the “OES 11g Authorization” filter, as seen below: Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Five Mobile Strategy Best Practices by Sanjay Singh and Susnigdha Balagari

To reap the benefits of mobility in the enterprise, CIOs will need to deliver reliable services in an environment of constant complexity and change.

Organizational leaders are increasingly realizing that a robust mobile strategy will enable them to unlock their company’s full business potential. According to the 2013 Accenture Mobility CIO Survey, CIOs said mobility would provide substantial sources of new revenue and significantly improve customer interactions. 36 percent of CIOs are engaging customers via mobile devices, and 34 percent are driving revenue through transactions on mobile devices.

CIOs also see mobility as a key measure to drive and improve their organization’s business processes. Remote access to content and applications allows workers to take full advantage of their on-road time. According to the Accenture survey, 83 percent of CIOs said mobility would significantly affect their overall business productivity. 43 percent said mobility would improve field/customer service delivery with instant data, and 33 percent said mobility would accelerate the sales cycle with improved access to backend systems.

All of these numbers demonstrate that mobility is top of mind for CIOs. In fact, 30 percent of CIOs plan to invest more than a third of their discretionary IT budget in mobility. However, 42 percent of CIOs do not have a formal mobile strategy.

Mobile Enterprise IT Best Practices

In order to fully reap the potential benefits of mobility in the enterprise, CIOs will need a strategy that gives them the capabilities to deliver reliable services in an environment of constant complexity and change. Here are five core components CIOs need to keep in mind for a successful enterprise mobility strategy.

30 percent of CIOs plan to invest more than a third of their discretionary IT budget in mobility. However, 42 percent of CIOs do not have a formal mobile strategy.

    1. An integrated development environment. Such an environment enables native, web access, and hybrid apps to be delivered cross-platform without the need to re-code for each device. The tools used should be based on familiar languages – HTML5 or JavaScript. An integrated environment will enable companies to develop cross platform, multi-channel and multi-device applications; decide on mobile development frameworks and UI technology; and adapt existing websites and portals for mobile.
    2. Integrated to the back office. Enterprise apps delivered on mobile devices need to be integrated easily to back-office applications. This means enterprises need to have middleware that can enable business process management (BPM) processes that are activated from the device. Such a capability will enable the integration of data and services across the enterprise and mobile devices. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

AMIS Oracle Enterprise Mobility conference May 2014 – by Lucas Jellema

imageThis article will provide a live account of the three day Enterprise Mobility conference, hosted by AMIS in Nieuwegein, The Netherlands. Oracle ADF Product Managers Frank Nimphius and Chris Muir are the keynote speakers. They are joined by Willem de Pater, Steven Davelaar and Lancy Silveira from Oracle and Luc Bors, Frank Houweling, Paul Swiggers, Aino Andriessen and Lucas Jellema from AMIS. The presentations and demonstration during this conference cover the next step for most enterprises (with ADF or without): introducing enterprise mobility. Many of the themes currently or shortly relevant to any organization will take center stage: multi device UI, mobility, security, agile & automated software engineering, performance & scalability, user experience, web & mobile oriented architecture and cloud. It will discuss and demonstrate Oracle’s vision and the upcoming generation of products.

The audience is composed of about 40 experienced ADF application architects and developers that not just sit back and relax, but share their experiences and ask the tough questions. How well does ADF fit in the mobile world? What is the role of ADF in a future that consists of HTML 5 and mobile? What is the long term evolution of ADF – and the use Oracle itself makes of the framework? Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Using Oracle’s Edition-Based Redefinition to support multiple SOA Suite revisions with the database adapter by Betty van Dongen

SOA_EBRWhen using the Oracle SOA Suite for web service development, chances are that you are also using an Oracle database and that you are at some point in need of a database adapter in one of your SOA composites. If that happens to be the case, you might also encounter the requirement to support multiple composite revisions and keep them as stabile as possible.

This requirement leads to development of multiple SOA composite revisions, but there is only one database. What if you need more database functionality in your new revision? And let’s say, for example, the package specification you are using in the database adapter needs to change. Is that going to be a problem or can you also have multiple database versions? Normally if the package specification changes the older composite revision will fail and you do have a problem in supporting multiple composite revisions. If you are working with an Oracle Database 11g Release 2 or higher one of its killer features, Edition-Based Redefinition, could provide a solution!

This feature was introduced to the database for hot deployment. It is meant to reduce or eliminate application upgrade down-time, as the Oracle documentation explains it (http://docs.oracle.com/cd/E11882_01/appdev.112/e10471/adfns_editions.htm#ADFNS0201).

With EBR it is possible to create multiple releases of your software in the database. When you create a new edition you can install the same software a second time (or more) in the same database without changing the older version of that same software. For hot deployment this means that a new release can be installed in the database next to the current situation and as soon as the new release is installed correctly the old release can be removed from the database. For more details on EBR I’d like to refer to the Oracle documentation. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

MockServer: Easy mocking of HTTP(S) services (e.g. SOAP or JSON) by Maarten Smeets

Testing services as an atomic entity can be difficult. Especially if these services are part of a call chain or call other services. Often in such cases mock services are developed to reduce test dependencies and exclude services which are not interesting to the specific test case. For example, I’m testing service A. Service A calls service B. I’m not interested in service B (or service B is maintained by another department on which I don’t want to depend). I would mock service B when testing service A in this case. There are several methods to create mock services. These methods however are mostly not easily usable by testers since they require developing/coding mock services. Testers would benefit from being able to create their own mock services in order to create different tests for a specific service.

In this blog post I provide a brief introduction and describe some features of MockServer. An open source product which can be used to mock services. For a more detailed article (with more examples) you can look at the following written by my colleague Robert van MölkenRead the complete article here.

 

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Message Correlation using JMS by Martien van den Akker

Last year I created a few OSB services with the asynchronous request response message exchange pattern. OSB does not support this out of the box, since OSB is in fact synchronous in nature. Although OSB supports the WS – Addressing namespaces, you need to set the WS-Addressing elements programmatically.

Since OSB is synchronous the request and response flows in the Asynchronous Request/Response pattern are completely seperated implemented from eachother. That means that in the response flow you don’t know what request message was responsible for the current response. Even worse: you don’t know what client did the request and how to respond to that client in a way you can correlate to the initating instance. Using SOA/BPM Suite as a client, you want to correlate to the requesting process instance.

There are of course several ways to solve this. I choose to use a Universal Distributed Queue for several reasons, where knowledge of JMS and performance were a few. I only need to temporarly store a message against a key. Coherence was not on my CV yet. And a database table requires a database(connection) with the query-overhead, etc.

Unfortunately you can’t use the OSB transports or SOASuite JMS adapters to get/browse for a message using a correlation-id in a synchronous way. When you create a proxy service on a jms transport or configure a JMS Adapter for read it will be a polling construction. But it’s quite easy to do it in Java, so I created a java-method to get a message based on a CorrelationId.

One thing I did not know back then was that if you put a message on the queue from one OSB Server Node (having a JMS Server) it can’t be read from the other node, as such. Messages are stored in the local JMS Server member of the Queue.

I found that you can quite easily reach the local member of a Universal Distributed Queue on a certain JMSServer on Weblogic by prefixing the JNDI name of the queue with the JMSServer separated with the at-sign (‘@’): Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Master Data Management and Service-Oriented Architecture: Better Together By Neela Chaudhari

Many companies are struggling to keep up with constant shifts in technology and at the same time address rapid changes in the business. As organizations strive to create greater efficiency and agility with the aid of new technologies, each new business-led project may further fragment IT systems and result in information inconsistencies across the organization. Because data is an essential input for all processes and business objects, these irregularities can undermine the original business objectives of the technology initiatives.

Combining the use of master data management (MDM) on the business side and service-oriented architecture (SOA) on the IT side can counteract the problem of information inconsistency. SOA is a practice that uses technology to decouple services, transactions, events, and processes to enhance data availability for business applications across a range of use cases. But the underlying data is often overlooked or treated as an afterthought when it comes to business processes, leading to poor data quality characteristics for your business applications. Without MDM, the data made available to business applications by an SOA approach might be less than accurate and more widespread throughout an organization. That can lead to a situation where lower quality data is consumed by more business users – ultimately thwarting the objectives of efficiency and agility.

MDM can add value to SOA efforts because it improves the quality and trustworthiness of the data that is being integrated and consumed. MDM aids the tricky issue of upstream and downstream systems integration by ensuring the systems access a data hub containing accurate, consistent master data. It also assists SOA by providing consistent visibility and a technical foundation for master data use. MDM delivers the necessary data services to ensure the quality and timeliness of the enterprise objects the SOA will consume.

To learn more about the importance of MDM to SOA investments, read an in-depth technical article, MDM and SOA Be Warned! (http://www.oracle.com/technetwork/articles/soa/ind-soa-mdm-2090170.html)
And don’t miss the new Oracle MDM resource center Visit today to download white papers, read customer stories, view videos, and learn more about the full range of features for ensuring data quality and mastering data in the key domains of customer, product, supplier, site, and financial data.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Oracle HealthCare Integration by Mala Ramakrishnan

Being able to exchange data among internal applications as well as with external partners and government agencies has always been a difficult task. Lacking a comprehensive integration strategy, many organizations find themselves creating new or customized solutions for each new business challenge. This splintered approach invariably leads to a heterogeneous environment that is difficult to manage and costly to operate – which is why a large percentage of IT budgets are spent on interoperability-related projects.

In the healthcare arena, one of the reasons for these difficulties stems from increasingly stringent regulations. Federal data initiatives arising from the Patient Protection and Affordable Care Act, Health Insurance Portability and Accountability Act (HIPAA), Public Health Information Network (PHIN), and the National Health Information Network (NHIN) all dictate how data must be formatted, archived and exchanged throughout its lifecycle. The Medicare Modernization Act and the Medicare Information Technology Architecture (MMA and MITA), Regional Health Information Organization (RHIO) initiatives, Health Information Exchanges (HIE), and continually evolving FDA safety laws also influence the way organizations in this dynamic industry must exchange data – adding additional confusion and complexity for health care organizations.

Oracle SOA Suite for healthcare integration is part of a comprehensive middleware environment designed to correlate data points, link applications, and comply with the myriad challenges of this highly regulated, data-intensive industry. Smoothing data interchange helps streamline every phase of the healthcare lifecycle – from initiation, eligibility, and enrollment to service delivery, program analysis, and reporting.

In this screencast, Anant Kadiyala, VP of Technology Services from TechDemocracy helps us understand the challenges underlying the healthcare industry and how Oracle SOA Suite for Healthcare Integration is positioned to help organizations succeed in this space. Oracle’s mature middleware tools help providers to interface clinical and administrative systems as they share information, both internally among departments as well as externally with other providers and insurance carriers. This level of automation makes it easier to respond to citizens, to meet federal requirements, and to adhere to popular industry standards. Watch the video here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Responding in Real-Time with Big Data By Mala Ramakrishnan

For an organization to respond in real-time it needs to acquire or develop systems that can respond in real-time. Such systems need to be able to rapidly determine that a response is required and determine also what the appropriate and relevant response should be – they need to decide when and how to act. These kinds of decision-making systems are known as Decision Management Systems. To ensure that a response is delivered in real-time, more event-centric Decision Management Systems are required.

High-volume, high-speed front-line decisions must increasingly be made in real-time with big data and analytics that are actionable and operational. Oracle Event Processing and Oracle Real Time Decisions are core components of a solution that allows organizations to detect rapidly changing situations from massive volumes of high velocity data to make optimal, real-time business decisions.

Come to this webcast to hear James Taylor, CEO of Decision Management Solutions, discuss his latest research on why real-time responses must detect, analyze and act with greater automation. Watch the webcast on-demand here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

SOA Transformation through SOA Upgrade by Luis Augusto Weir

10gTo11gMuch has been said about Oracle SOA Suite 10g (or JCaps) upgrades to 11g and how features map between both versions. There is also plenty of information online about this topic both official and unofficial. It’s not news to many that for example SOA Suite 10g is currently in extended support and product will enter sustaining support by the end of 2014 (I will explain more about what extended and sustaining support means later in the blog). However one fact remains truth: There are still many companies out there running platforms that are (or soon will be) in sustaining support, and that don’t yet have an upgrade strategy. I say this based on my own experience as I am currently helping several customers do exactly this.

Having said that,  I wrote this blog in an attempt to give SOA experts, Integration Leads and Architects key pointers that can serve as inspiration to come up with a transformational approach when defining an upgrade strategy. Note that I am using the word “transformation” deliberately and I will explain why shortly.

Note that although this article is mainly related to the Oracle SOA 10g to 11g technology stacks, the approaches, tips and information provided in this blog should also be applicable when defining any technology upgrade. In fact, once 12c is more mature I will probably refresh this blog to cover 11g to 12c upgrades.

Following my key pointers to help you define your upgrade as a SOA Transformation:

    1)Understand the product roadmaps and planning to move in advance
    2)Take a SOA Transformation approach and not just a technology upgrade
    3)Elaborate a SOA Transformation Roadmap
    4)Understand current and future technology stacks and identify potential risks and challenges in advance
    5)Define a service transformation methodology
    6)SOA transformation also requires organisational changes and maturity

1) Understand the product roadmaps and planning to move in advance

This is one of the most important points and one that many have either failed to understand or have just ignored (hence why many companies still stuck in 10g and have no plan to upgrade yet). This is important because by understanding the product releases and features, release dates, and support lifeline you can plan in advance an upgrade approach and avoid having to do something tactically, in a rush and with limited budget.

Before getting further into this topic, it is critical that you understand the basics of Oracle product releases: Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki