Service as a Query (SaaQ) or Query from a Service (QfaS)
Imagine for a minute if you had the ability to write a query from a (Web) service. I’m calling this “Service as a Query” or “Query from a Service” or “Query Service” for short…
For example, let’s say you wanted to write a query against a Web service from http://www.thomas-bayer.com/ that contains an operation called getBank. The service contains a bank ID (biz).
select bankName, bankId, location, plz
from thomas_bayer_bank_service
where biz = 20041133
| BANKNAME | BANKID | LOCATION | PLZ |
|---|---|---|---|
| comdirect Bank | COBADEHD001 | Quickborn, Kr Pinneberg | 25449 |
Powerful, right? Absolutely! Or let’s say you want to query from http://www.abundanttech.com/ ”dead or alive” service and call the getTodaysBirthdays operation (that has no parameters):
select *
from todays_birthdays
| FULLNAME | BIRTHDATE | DEATHDATE | AGE | KNOWNFOR | DEADORALIVE |
|---|---|---|---|---|---|
| Belushi, James | 06/15/1954 | 55 | Saturday Night Live | Alive | |
| Cuomo, Mario | 06/15/1932 | 77 | State and Local Figures | Alive | |
| Jennings, Waylon | 06/15/1937 | 02/13/2002 | (64) | Country & Western Performers | Dead |
| Nilsson, Harry | 06/15/1941 | 01/15/1994 | (52) | Pop and Rock & Roll Performers | Dead |
| Udall, Morris | 06/15/1922 | 12/12/1998 | (76) | Members of Congress | Dead |
| Varney, Jim | 06/15/1949 | 02/10/2000 | (50) | Other Actors | Dead |
Or let’s say you used Yahoo Pipes to pull Oracle’s current stock price and then you want to query from a RESTful service to get this information - now:
select current_stock_price, link, details
from yahoo_pipe_oracle
| CURRENT_STOCK_PRICE | LINK | DETAILS |
|---|---|---|
| ORCL - last: $20.85 @ 4:00pm EST 6/12/2009 | http://finance.yahoo.com/q?s=ORCL | last: $20.85 @ 4:00pm EST 6/12/2009 <br>change: -0.09 <br>day high: 21.00 <br>day low: 19.47 <br>open: 20.82 <br>volume: 23154762 <br><img src=”http://ichart.finance.yahoo.com/b?s=ORCL”> |
Or what if you want to query from Google:
select *
from google
where searchString = ‘Bradley D. Brown’
Web Services allow you to run a program on another server as if it’s on the same server. You don’t need to know the operating system, the hardware platform, the programming language or much of anything about the source system. You simply run the program on another server. That’s what a Web Service is. Just think about the power of being able to query from ANY data source as if that data is in your own database. That’s what I’m calling a Query Service!
Rolta’s iPerspective product allows you quickly expose your existing business logic and data as Web Services. As discussed below, iPerspective adds key features to your service deployment. Rolta’s Periscope product gives you Query Service functionality right out of the box. You can query from ANY Web Service with a simple SQL Query! Imagine the power of this type of functionality. Any product that uses a JDBC driver can now query from any Web Service as if the data is on the same system. That’s powerful!
Here are some of the key iPerspective differentiators:
- Federated (i.e. cross DB) queries
- Security
– i.e. if you want put a digest, LDAP, single sign-on layer on top of services – with a button click
- All different bindings of the WSDL (i.e. old formats to new)
- Release management - Grouping of objects into different releases of services
- A repository of your services -
- i.e. a pretty complete stack all in one
- Extended object support – we support a lot of things that JDev didn’t in the past – i.e. overloaded functions in a package, record types, and MANY, MANY ore –
basically any Oracle ERP package/API can be turned into a service
- Dynamic service - We have a service type that allows you to call it and pass in your SQL statement and we have security options that allow you to restrict what objects can be used and you can lock down the gateway or allow the service to accept this and you can pass in a federated query too
- Virtual private service - ability to provide access to a service that gives a customer only their data
- ApEx, Sensedia and UDDI support - We deploy our service repository to a number of other repositories
- RESTful services - with a click, you can make your release a RESTful release
- Auto deployment - we can deploy to 1 server or 100 at once
- Open Adaptor API – we have an open API for Security, Gateways. Code generation
Recent Comments