In this blog post I wanted to give you a little flavor for how INNOVATIVE this technology is. We have plenty of business-side presentations about Instant SOA and SOA in general, but this post is on the “technical side”, this is literally how simple it is to move your architecture into a SOA with Instant SOA. There are only 5 steps to success, which include:
- After starting up Instant SOA in your browser, you'll choose the database vendor (i.e. Oracle, Sybase, SQL Server, etc. - over 200 choices are available) that contains existing components (i.e. data or program units) that you wish to make into SOA components. I'll choose Oracle, which is one of my choices – Instant SOA supports hundreds of databases:
- Next, you'll choose a specific database to connect to – or you'll create a new connection – which is as simple as specifying a host name, database name, TNS port – for Oracle that is. For other platforms, it’s the same basic idea. For this demo I connected to my local Oracle database instance:
- At this point, Instant SOA will provide you with an entire list of database components (tables, views, packages, procedures, and function) that you can instantly make into SOA components. Simply choose (check the boxes) the objects to make into SOA components:
- The final step is you will choose the app servers (e.g. Oracle IAS, Oracle OC4J, BEA, JBoss, etc.) to deploy your new SOA components to and you'll click on the "virtualize objects" button:
- Pretty simple so far isn't it! At that point, you’re done! All of the services that you checked off are now available (to ApEx, BPEL, anything that can read a WSDL file) as SOA components. Through the app server, Instant SOA even provides a browser-based interface to interact with the Web Services manually – including full WSDL support for each service that’s been created:

In the example below, you'll notice that I virtualized a package named Periscope_Common from my Oracle database. All of the procedures and functions are automatically exposed as methods (or you can limit the methods exposed if you desire) in the SOA services – you’ll also notice that we “javaize” the names - PERISCOPE_COMMON is named PeriscopeCommon:

It's important to know that Instant SOA is fully “big system” ready. In other words, if you have a lot of schemas, Instant SOA will show you a list of schemas from which you can choose and limit the results displayed. If you have many objects in a schema, Instant SOA will allow you to filter your lists down to a representative set quickly. These "enterprise" features make it simple to find your objects quickly.
Beyond program units (i.e. packages, procedures and function), tables (and views) can even be made into SOA components. Virtualizing tables or views allows developers to immediately access data (in any database) via the SOA! Those pesky Excel spreadsheets and Access databases can even be made available as SOA components! For example, above you may have noticed the EMPTAPI – this is the EMP table’s API. This service contains a fetchTableSet method, which has one input parameter – the number of records to fetch:

The built in services also allow you to easily limit the data queries (i.e. with a where clause), order the data (i.e. with an order by), group the data (i.e. with a group by), or limit a group by (i.e. with a having statement). Any of these parameters can be specified on the fly. The services are all stateful services, which means that Instant SOA automatically provides full cursor management based on the number of rows you specify to fetch in each call.
Via the Web Service browser interface, developers can quickly test out the Instant SOA services. For example, via the browser, I can query the EMP table using my Instant SOA EMPTAPI fetchTableSet method:

As you can see – Instant SOA holds up to its name! If you're interested in a demo, send me an email or give me a call any time! Instant SOA installs in minutes too! We'll soon be providing a downloadable install on the TUSC site, so you'll be able to download it and try it for yourself in the middle of the night - I know that's when you find time to play with things like this - OK, maybe I'm speaking for myself now...
Oh, but before I forget...do you:
- Feel like after you pick objects from the list that you might want to add, change or delete indivdual components at will...no problem, Instant SOA allows you to do this at any time. Once again, all from the click of a few buttons in the browser.
- Wonder about your ability to deploy these services to additional servers, cluster servers, load balanced servers, etc? Again, no problem. With one click, you can deploy a service to any app server at any point in time. It's really that easy.
- Want to add an authentication layer to your services? Once again, no problem, Instant SOA allows you to seemlessly add an authenication layer to your services. Digest, database, LDAP, Single Sign On or most any authentication is supported.
- Have databases that I didn't mention? No problem! Instant SOA supports most any database imaginable. Including hierarctial databases, PICK, and many other "goofy" databases.
- Have data in places other than databases? No problem! Instant SOA supports most any flat file system, comma delimited (CSV) files, XML data and more. Instant SOA even support numerous protocols - for example, SMTP! You can virtualize your email and publish it as an authenticated service.
- Want to not only query data, but you would like add (insert), change (update) and delete data? Not a problem - Instant SOA fully supports full data manipulation (DML).
- Want to package up your services first? In other words, you would like to deploy high level services rather than low level SOA components? No problem at all. Using your native tongue (e.g. PL/SQL in the Oracle world, Transact SQL in the SQL Server world), you can write high level services and then use Instant SOA to publish them as services.
- Wonder what's going to happen when you change your unlying database services? Not a problem! Instant SOA simply calls your programs from their native environment. Therefore, if the structure of your tables or program units doesn't change, your services will continue to work just fine.
- Now that I have you thinking about this - are you wondering what's going to happen if you change the underlying structure of your database objects? Again, this is no problem. It only takes seconds to automatically re-create your services. There is a command line interface for Instant SOA, so if you do this often, Instant SOA can monitor your objects and automatically refresh SOA objects when the underlying database objects change! How cool is that! In fact, Instant SOA supports full versioning of your releases. You can publish any number of versions concurrently too.
- Have a concern about failover, redundancy, scalability? Don't be! Instant SOA simply fills in the middle for you by creating the services. Whatever application server you choose will provide for the failover, redundancy, scalability, etc.
- Need to publish a UDDI directory with your services? No problem! Instant SOA can automatically publish to any number of UDDI directories for any and all services that are created with Instant SOA. The comments published come directly from the comments in your database object documentation by default!
OK, are you excited yet? I'll throw in one more bonus for you. The objects that are created in the SOA can also be published in an Oracle database! So program units from MySQL are fully executable from Oracle and tables are fully queriable (and updatable) to Oracle. In fact, any program that's accessing you Oracle database won't know that the data isn't coming from anything other than Oracle itself. This makes development MUCH faster for your Oracle developers because they don't need to learn anything about SOA or these other databases!
By the way - if you're interested in watching a Webinar on this, we have them scheduled for April 9th, April 23rd and May 6th at 9am PST, 10am MST, 11am CST, and 12am EST. Check ou the the TUSC site for more information these Webinars. The title is:
Instant SOA - Automating the enablement of the SOA for all existing database data and programmatic components
The Briefing: What if achieving a service oriented architecture (SOA) were easy? Although the benefits of having a SOA are undeniable, the cost of effort to “get there” is also great…at least it has been until now. TUSC is excited to introduce revolutionary technology, an “Instant SOA” offering, that allows companies to instantly move their existing architectures into SOAs – without effort, without re-writing any code. And we do mean instantly.
Intrigued? We welcome the opportunity to demonstrate this revolutionary new technology. TUSC is hosting a webinar and we would love to have you join us. The webinar will explain how you can instantly achieve the many benefits of SOA, including:
- Increased business agility – Respond faster, process efficiencies
- Reduced integration expense – Reduce maintenance and need for highly-skilled employees, and gain the freedom to select platform, technology and location independently
- Real-time access to data (rather than stale data)
- Loose coupling - Increase asset reuse
- Reduced risk – Incremental deployment, quicker payback
- Platform independence – Based on open standards
- Low latency, high performance
- Reliability, redundancy
- Componentization, encapsulation, separation of interface from implementation
With these benefits within grasp, why wait any longer? For information, or to register for your choice of webinar date, go to www.tusc.com/instantsoa. In the event you miss the webinar, you can listen to it OnDemand by going to http://www.tusc.com/breifing beginning April 11 and listen at your leisure.
1 comments:
Hi,
This is indeed a great technology. I had a small question about data types. When you expose a view/table as a service how do you map the DB types in WSDL? For example if you have stored an image as a blob how do you specify it in WSDL in order to get that image?
Thanks
Post a Comment