Mapping RESTful Data
As I mentioned before, Yahoo provides Yahoo Query Language (YQL) in a variety of forms. There is a console that allows you to write a query in a browser and see the XML results on the screen. This is nice for development purposes, but XML isn’t all that “humanly readable.” I’m a big fan of maps to represent data that can be attached to a latitude and longitude. When you think about it, most data actually can be attached to an address, a zip code, a city or some geospatial component. In my last blog, demonstrated how to use YQL and it’s RESTful API to query and display information in a tabular form. Today I’m going to show you how to take that tablular data and represent it in map.
In my ApEx application, I created a region that contains 4 input fields:
You can see that I’m collecting:
- Address (to use for events and traffic)
- Weather Zip (zip code to use for the weather information)
- Event Search (search text for the events)
- Radius (radius from the address to search for events and traffic)
As you can see in the following figure, I displayed the traffic information on the map (pretty cool isn’t it). Below the map, I included the detailed traffic information in a tabular format (not very existing is it). The traffic is within the specified radius of the address on the page.
In the following figure you’ll see that I displayed all of the events within the radius of the specified address that contain the search text specified. Again, below the events, is a tabular listing of the event details.
There are many maps available including Yahoo, Microsoft (Virtual Earth), Google, etc. Yahoo Pipes, which I’ve discussed previously, allows you to consume RESTful (or standard) Web Services. Pipes allows you to consume YQL queries too. I decided to use Yahoo Pipes to consume my YQL queries. The figure below shows the Pipes visual diagram, which I’ll explain below.
Above you’ll see that the diagram starts in the upper right corner with 2 text input values (location and radius). These feed into the “String Builder” which writes a SQL statement that’s used in the YQL query. The query will look like: select * from maps.traffic where location=”loc” and radisu=radius. This is fed into the YQL query, which pases it’s results into rename, which changes item.description to description and item.title to title. The “Location Exrtaction” module will pull the lat/long information from YQL query. Amazingly simple isn’t it! When you run the Pipe, you can see that there are 2 tabs. 1 for the Map (because we used the Location Extractor and a list.
You see that all of the traffic shows up in the lat/long location it belongs on the map. I’m always amazed how easy it is to integrate this data when you have services. You can see above that there are many options available with the Pipe data. You can publish the map on your MyYahoo page or you iGoogle page or get it as an RSS or JSON feeds and more. You can also see that there is an option labeled “Get as a Badge.” As you can see here, you can put the badge in TypePad, Blogger, WordPress, iGoogle or as an Embedded link on your Web page:
When you click on “Embed,” Pipes provides you with a link to copy and paste. Now back to ApEx. How do we take this embedded link and put it in ApEx? Remember that we have 2 bind variables for this Pipe. These will be input variables in the RESTful service. For this Pipe, the link that I copied looks like this:
{"pipe_id":"1000b6378cfdcd6dd7c46397c03c08a8","_btype":"map","pipe_params":{"loc":"215 Union Blvd, Lakewood, CO","radius":"50"}}
You can see the 2 bind variables. Remember that in my ApEx application, I had 4 input variables (ApEx items) on my page. The names of my variables are: P2_ADDRESS, P2_ZIP, P2_SEARCH and P2_RADIUS. I created a new HTML region on my page. Then I pasted the above embedded script into the region’s HTML source. The only thing I needed to change was to add in my bind variables. You can see how I changed it below. In PL/SQL, you reference bind variables with a colon in front. For example, you would write something like “where radius = :p2_radius” in PL/SQL. In HTML, the binding uses an ampersand before the variable name and a period at the end. So here’s what my region source looks like now:
{“pipe_id”:”1000b6378cfdcd6dd7c46397c03c08a8″,”_btype”:”map”,”pipe_params”:{“loc”:”&P2_ADDRESS.”,”radius”:”&P2_RADIUS.”}}
My events map HTML region now looks like this:
{“pipe_id”:”443aa7ea681f51feb5ff3e24cc71812b”,”_btype”:”map”,”pipe_params”:{“search”:”&P2_SEARCH.”,”loc”:”&P2_ADDRESS.”,”radius”:”&P2_RADIUS.”}}
You can see my bind variables in this region too. You can see what my “Events in Town” Pipe looks like when I run it. Notice the visual diagram (flow chart) here too – very cool!
Let’s take a look at the details behind this Pipe now. Here’s the flow:
This Pipe begins in the top middle of the page with 3 text input variables – search text, location and radius. Again, this feeds building the select statement that feeds into YQL. I then took the results of that query and split it into 2 threads. One thread takes a lot of the information and moves it into a “new_description” field. This is used for all of the events, which are then put into an RSS format, sent into the union, which goes into the pipe’s output. The other thread extras the venue’s zip code and gets the weather for that zip code. Since many events could be in the same zip code, I ran it through a unique filter for unique cities and for all unique cities builds a YQL query for the weather information, which is also unioned into the pipe’s output. So we have a powerful combination of service requests.
Again, I’m hoping to inspire you to go and build a really cool application that you can use in your company or personally. Services are VERY powerful. And of course…if you need help, give us a call!
Power of OOW and WOA
Attendance at Oracle Open World (OOW) felt down to me. We had 2 booths at the conference – one in Moscone South and another in Moscone West. The booth traffic on Monday was good. I think most of us expected Tuesday to get better and each day we seemed to see less traffic in the exhibit hall. If you were in attendance, I hope you found it to be a great conference. I know I met with a number of customers and prospects, which was the highlight of the conference for me. I also really enjoyed conversations with all of the Rolta TUSC and Rolta employees. All-in-all it will go down as a GREAT conference for me.
After a week of conference focus, I’m digging into technical topics once again. I’ve been looking at the RESTful components that Google, Yahoo and others are offering. Google likes to restrict what you can do with their content. They have great maps, but legally you can’t extract the images that include traffic, weather and other information and send it in an email. The Web Oriented Architecture (WOA) provides a light-weight method of getting data from other people’s programs (i.e. services). I’m very impressed with how Yahoo is approaching WOA. I road back from the Aerosmith and Roger Daughtry concert with a group of Yahoo developers. It’s always great to see a group of co-workers hanging together as they were.
Yahoo certainly has a number of great APIs that you can consume. As the guys on the bus said, Yahoo is a content company – i.e. they are no longer a search engine company. Yahoo Developer Network (YDN) contains a large number of great APIs. These APIs include tools for everything from querying the Yahoo database, to authentication, to content (Finance, Jobs, Blogs), maps and location-based services, photos (Flickr), music, answers, social applications and more.
Since I’m a SQL guy, I was intrigued by the YQL console and API. I’d encourage you to go try it out. You can query from social data, pictures (Flickr), maps and geo services, local information, music, blogs, search engine, weather, and more. If you click on a table, the UI creates a sample query for you. You can modify the query to your local information – for example, I opened “local” and clicked on the local.search table, then changed the zip to my home zip:
select * from local.search where zip=’80123′ and query=’pizza’
Which will return an XML (or JSON) data stream for you to review:
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng" yahoo:count="10" yahoo:created="2009-10-21T06:18:18Z" yahoo:lang="en-US" yahoo:updated="2009-10-21T06:18:18Z" yahoo:uri="">http://query.yahooapis.com/v1/yql?q=select+*+from+local.search+where+zip%3D%2780123%27+and+query%3D%27pizza%27"> true <![CDATA[">http://local.yahooapis.com/LocalSearchService/V3/localSearch?zip=80123&query=pizza&start=1&results=10]]> 399 395 3559 M C's Pizza by the Slice 8086 W Bowles Ave, #I Littleton CO (303) 763-8299 39.609511 -105.087353 5 7 6 1215051686 Pizza the way it should be. If that was all they did it would be enough. But they step up with a full menu of Italian favorties. I used to eat here regularly when they were farther up north on Wadsworth, but I lost track of them when they moved. I'm exstatic that I stumbled back upon them. I refuse to eat pizza anywhere else now. 0.87 <a href="http://local.yahoo.com/info-19628168-m-c-s-pizza-by-the-slice-littleton">http://local.yahoo.com/info-19628168-m-c-s-pizza-by-the-slice-littleton <a href="http://local.yahoo.com/info-19628168-m-c-s-pizza-by-the-slice-littleton">http://local.yahoo.com/info-19628168-m-c-s-pizza-by-the-slice-littleton <a href="http://maps.yahoo.com/maps_result?q1=8086+W+Bowles+Ave%2C+%23I+Littleton+CO&gid1=19628168">http://maps.yahoo.com/maps_result?q1=8086+W+Bowles+Ave%2C+%23I+Littleton+CO&gid1=19628168 Pizza Carry Out & Take Out Restaurants McKinners Pizza Bar 2389 W Main St Littleton CO (303) 798-8500 39.613832 -105.01599 5 3 2 1231016590 First of all, this is a fun place.. The Pizza is second to none!! You should all go and give it a try! I know that you will love it! 3.01 <a href="http://local.yahoo.com/info-33699888-mckinners-pizza-bar-littleton">http://local.yahoo.com/info-33699888-mckinners-pizza-bar-littleton <a href="http://local.yahoo.com/info-33699888-mckinners-pizza-bar-littleton">http://local.yahoo.com/info-33699888-mckinners-pizza-bar-littleton <a href="http://maps.yahoo.com/maps_result?q1=2389+W+Main+St+Littleton+CO&gid1=33699888">http://maps.yahoo.com/maps_result?q1=2389+W+Main+St+Littleton+CO&gid1=33699888 <a href="http://mckinners.com/">http://mckinners.com/ <a href="http://mckinners.com/">http://mckinners.com/ Pizza Restaurants Sandwiches
This got me thinking. Using our Rolta CGQ (Consumer Gateway for Queries) product, we can execute any RESTful service and return the information as if the data resides in an Oracle database. In other words, simply using SQL, I can write YQL query to retrieve information like maps, geo information, weather info, and more through Oracle Application Experss (ApEx). I wrote 4 quick queries, pasted them into ApEx and I now have a WOA / SQL YQL dashboard. First, let’s look at the end result from my queries:
You can see that I have 3 text input fields on the page. I changed all 3 of these fields and here are the results now:
To write my queries, I used the YQL console to write the initial statement. I used the “COPY URL” button to copy the REST query. For example, I queried 100 locations that have “Princeton” (my hometown) in the name:
I then worked on my SQL query in Oracle SQL Developer. Once I had the data looking the way I wanted it, I pasted these queries into a new ApEx SQL Query Report region. I edited the SQL to add my bind variables, added better headers, sorting, and so on. Let’s take a look at each of the 4 queries on this page:
- select ‘
‘ map from table(cast(soap_ws.select_restful(‘Result’, ‘http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20maps.map%20where%20location%3D%22′ || replace(:p2_address,’ ‘,’+') || ‘%2C%20CO%22′, ‘results’, ‘query’, ‘xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”‘) as generic_table))
- select text_column1 place_type, text_column2 name, text_column3 country, text_column4 state, text_column5 county, text_column6 postal_code, text_column7 locality1, text_column8 centroid_lat, text_column9 centroid_long from table(cast(soap_ws.select_restful(‘placeTypeName,name,country,admin1,admin2,postal,locality1,centroid/latitude,centroid/longitude’, ‘http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places(0,100)%20where%20text%3D%22′ || replace(:p2_location_text,’ ‘,’+') || ‘%22′, ‘place’, ‘results’, ‘xmlns=”http://where.yahooapis.com/v1/schema.rng”‘) as generic_table))
- select text_column1 title, text_column2 link, text_column3 description, text_column4 lat, text_column5 lng, text_column6 publish_date from table(cast(soap_ws.select_restful(‘title,link,description,geo:lat,geo:long,pubDate’, ‘http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20location%3D’ || :p2_zip, ‘item’, ‘channel’, ‘xmlns:geo=”http://www.w3.org/2003/01/geo/wgs84_pos#”‘) as generic_table))
- select text_column1 date_1, text_column2 day1, text_column3 Day1_Low, text_column4 Day1_High, text_column5 Weather_1, text_column6 date_2, text_column7 day2, text_column8 Day2_Low, text_column9 Day2_High, text_column10 Weather_2 from table(cast(soap_ws.select_restful(‘yweather:forecast[1]/@date,yweather:forecast[1]/@day,yweather:forecast[1]/@low,yweather:forecast[1]/@high,yweather:forecast[1]/@text,yweather:forecast[2]/@date,yweather:forecast[2]/@day,yweather:forecast[2]/@low,yweather:forecast[2]/@high,yweather:forecast[2]/@text’, ‘http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20location%3D’ || :p2_zip, ‘item’, ‘results’, ‘xmlns:yweather=”http://xml.weather.yahoo.com/ns/rss/1.0″‘) as generic_table))
I hope from seeing this, you can imagine the opportunity for powerful applications that have access to ANY information you want to embed into your own applications. For example, using this method, you could embed or save historical information for:
- A persons Yahoo profile information, which includes their full name, nickname, sex, profile image, interests, home location, timezone, …
- Social information such as connections, contacts, presence, updates,…
- Photo libraries (through Flickr) by EXIF, information, interestingness, recentcy, sizes, places, …
- Geospatial information including Yahoo’s placemaker (i.e. documents that match location information), places, neighboring places, similar towns/cities, …
- Maps and traffic
- Local business searches
- Social media such as Facebook, Yahoo’s MeMe, MySpace, etc.
- Music by artist, popularity, similar artists, releases, tracks, videos, …
- Blogs such as Yahoo’s MyBlogLog, WordPress, etc.
- Yahoo searchs for images, news, spelling, suggestion, web sites, …
- Upcoming events by country or state, category, groups, venues, etc.
- Weather forecasts
- Convert data from ATOM, CSV, RSS Feeds, HTML pages, JSON, XML, etc.
- Access to data from external sources including Amazon, Craigs List, Delicious, Doppler (travel site), Facebook, FriendFeed, Google, Government Spending, Intuit, IP Location Data, Bing, Movies, Netflix, SalesForce, Twitter, White Pages, WordPress, Yahoo (Finance, Messenger, Search, etc.), Zillow, etc.
This provides a lot of power to you as the developer! What application are you going to create with this powerful information? I have my own in mine…
Google Wave – Next Generation Email?
Have you checked out Google Wave yet? The videos and discussions are pretty cool! If you sign up, you might just get to check it out in the sandbox too! I received a sandbox account, created my first survey and sent it off. Wave made it very easy for me to analyze the results and get answers in no time at all. I was trying to organize a 4 wheeling adventure this coming weekend, next weekend or in the Spring. It turned out that next weekend worked for a number of people, so we got it on the schedule. Here are the results in a spreadsheet format:
|
You can also view the summary of the results – what’s next – enterprise integration?:
Summary See complete responses
|
Would you be interested in a 4 wheeling adventure?
|
|||||||||
|
|
|
||||||||
|
How much 4 wheeling experience do you have?
|
||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||
|
Would you want to use your own vehicle or ride with someone else?
|
|||||||||||||
|
|
|
||||||||||||
|
How much clearance do you have with your vehicle?
|
|||||||||||||||||
|
|
|
||||||||||||||||
|
If you want to ride with someone else – how many of you need a ride?
|
|||||||||||||||||
|
|
|
||||||||||||||||
|
If you can drive, how many extras can you take?
|
|||||||||||||||||
|
|
|
||||||||||||||||
|
Where would you like to go?
|
|||||||||||||
|
|
|
||||||||||||
|
Which dates work best for you – Sept 26
No responses yet for this question.
|
|
|
|
|
|
Which dates work best for you – Sept 27
|
|||||||||||||
|
|||||||||||||
|
Which dates work best for you – Oct 3
|
|||||||||||||
|
|||||||||||||
|
Which dates work best for you – Oct 4
|
|||||||||||||
|
|||||||||||||
|
Which dates work best for you – Next spring
|
|||||||||||||
|
|||||||||||||
OOW Presentations
Oracle Open World (OOW) is just a few weeks away. It’s going to be a busy week for a lot of people! Rolta TUSC will have a LOT of presentations that week. We have 2 booths at the conference. Numerous demo stations will be at the booth. It’s going to be a fun week! I have 3 presentations. 1 on Monday, 1 Wednesday and the final one Thursday morning. I’ll be arriving on Sunday and heading home on Thursday. I always love a week in San Fran! Here are my presentations – please come see me!
Title: Wimpy Web Services Versus Powerful, Flexible Web Services
Track: Oracle Develop: Service-Oriented Architecture
Date: 12-OCT-09
Time: 11:30 – 12:30
Venue: Hilton Hotel
Room: Yosemite C
In this presentation, Brad will discuss the importance of strong Web Services, the difference between wimpy services and powerful flexible Web services. Many companies today are attaching SOA MBOs to their technical teams. These performance metrics often measure based on quantity rather than quality. What is quality? Reuse? Performance? Flexibility? Brad will discuss this topic in detail.
Title: Building a Mashup with Application Express
Track: Database
Date: 14-OCT-09
Time: 17:00 – 18:00
Venue: Moscone South
Room: Room 252
In this presentation, Brad will talk about how to develop a mashup using Oracle Application Express. Traditionally people think of ApEx as being an “Oracle database” tool only – not a mashup tool. However, Brad will show how you can consuming Web Services to access data from any source – Oracle, MySQL, SQL Server, Access, Excel, Cloud Databases (like Zoho), etc. In Brad’s presentation titled “Scalable Oracle ApEx” he explains how to create an n-tier architecture for ApEx. This architecture provides unparalleled scalability to your organization. This presentation explains the implementation side (i.e. the specifics) of this solution.
Title: Scalable Oracle Application Express: Case Study of a True N-Tier Architecture
Track: Database
Date: 15-OCT-09
Time: 09:00 – 10:00
Venue: Moscone South
Room: Room 306
Do you like the power and flexibility of Oracle Application Express (ApEx)? But…are you frustrated by the fact that it chews up database cycles generating dynamic HTML pages? Do your architects and DBAs go mad thinking about this? I know I sure have! This presentation will demonstrate a solution to this architectural dilemma! A reference architecture is provided along with a case study that this presentation is based around. You’ll see exactly how to scale ApEx (inexpensively) within your environment.
Just as I suspected – HP’s out of the picture
Now We Know – Version 2 is on Oracle’s Very Own Hardware – What’s Next Month?
Oracle Unveils Exadata Version 2: The First Database Machine for OLTP
Redwood Shores – September 15, 2009
News Facts
· The world’s first OLTP Database Machine was unveiled today by Oracle Chief Executive Officer, Larry Ellison; and Sun Executive Vice President John Fowler.
· The Exadata Database Machine Version 2, made by Sun and Oracle, is the world’s fastest machine for both data warehousing and online transaction processing (OLTP).
· Built using industry standard hardware components plus FlashFire technology from Sun, Oracle Database 11g Release 2 and Oracle Exadata Storage Server Software Release 11.2, the Sun Oracle Database Machine Version 2 is twice as fast as Version 1 for data warehousing.
· The Sun Oracle Database Machine goes beyond data warehousing applications with the addition of Exadata Smart Flash Cache based on Sun FlashFire technology to deliver extreme performance and scalability for online transaction processing (OLTP).
· Exadata Version 2 is available in four models: full rack (8 database servers and 14 storage servers), half-rack (4 database servers and 7 storage servers), quarter-rack (2 database servers and 3 storage servers) and a basic system (1 database server and 1 storage server). All four Exadata configurations are available immediately.
· With the Sun Oracle Database Machine, Oracle customers can store more than ten-times the amount of data and search data more than ten-times faster without making any changes to applications.
· Hardware from Sun
o Sun’s FlashFire memory cards enable high performance OLTP
o 80% Faster CPUs – Intel Xeon (Nehalem) processors
o 50% Faster Disks – 600 GB SAS Disks at 6 Gigabits/second
o 200% Faster Memory – DDR3 memory
o 125% More Memory – 72 Gigabytes per database server
o 100% Faster Network – 40 Gigabits/second InfiniBand
o Raw disk capacity of 100 TB (SAS) or 336 TB (SATA) per rack
· Software from Oracle
o Features the world’s first flash-enabled database – Oracle 11g Release 2
o Hybrid columnar compression for 10-50 times data compression
o Scans on compressed data for even faster query execution
o Storage Indexes to further reduce disk I/Os
o Offloading of query processing to storage using Smart Scans
o Smart scans of Data Mining models in storage servers
o Applications running on the Sun Oracle Database Machine achieve up to 1 Million I/O Operations per Second to Flash Storage
Excited for Oracle Open World
Each year at Oracle Open World, Oracle makes a big announcement. 2 years ago, the big annoucement was how Oracle squashed Red Hat by providing OS support for half of Red Hat’s going rate for support. Oracle could easily do it for half price – Red Hat was doing all of Oracle’s R&D on the OS. What a brilliant move against open sourcing your software. Last year there were many big annoucements. I predicted Oracle’s big annoucement would be that they were going to offer up Oracle through Amazon’s Cloud offering. That was one of MANY annoucements – in fact, there were so many annoucements that the cloud offering went almost unnoticed. Much to my surprise, I haven’t heard any great success stories about this offering in the last year either. The big annoucement last year was the HP / Oracle hardware offering – a massive parallel processing computer for data warehousing. Interesting, but didn’t wow me personally. I haven’t personally “played” with one – have you?
So what will the annoucements be this year? It used to be one annoucement – now clearly it’s now going to be many BIG annoucements. With all of the acquisitions, it’s no wonder. What’s the big recent annoucement – Oracle purchasing Sun of course. So what does that mean for open source? Who was the largest open source vendor or all? Sun? Sun had purchased the best open source DBs (in my opinion) – MySQL. Sun started much of the open source revolution with none other than Java. Java’s an open source programming language. What’s this annoucement mean for Java and all of the products based on Java? Oracle’s purchased MANY such products. From BEAs product lines to Java Containers to so much more. In fact they have thrown out more software than most companies will ever own or write in a lifetime. Oracle was partnering into the hardware world last year…and now they are in the hardware business. They’ve made it clear that they are gunning for IBM. So will they purchase HP next? Flip (Platinum Software) predicted many years ago (almost 15 now) that it would all come down to a couple of vendors – he usually mentioned IBM and Oracle (and Platinum of course). CA’s still around aren’t they! Who’s next? When will the SEC step in?
I wish I could dream up a prediction for this coming OOW. I’m confident that Oracle will announce something big at OOW. It’s only about 4 weeks away! What will the annoucement be? Who will be crushed this year? Who will be celebrating? Oracle’s already annouced that their Exadata box is available on their Sun hardware:
Announcing the World’s First OLTP Database Machine
with Sun FlashFire Technology
You are invited to attend this exclusive live Webcast in which Oracle CEO Larry Ellison will unveil an innovative new product, the world’s first OLTP database machine with Sun FlashFire technology. Don’t miss this opportunity to learn firsthand how the partnership between Oracle and Sun can benefit your business now and in the future.
Who: Larry Ellison, CEO, Oracle, and John Fowler, EVP, Sun
When: Tuesday, September 15, 2009, 1 p.m. PT/4 p.m. ET
Register now to watch the live Webcast.
After the event, we invite you to watch the Webcast on demand at your convenience.
Larry is 65 this year – maybe he’s going to annouce that’s going to take some time away from the business? Will that be the big annoucement?
New Agile SOA Whitepaper
I created a white paper out of the content in the below posts. If you would like the 5 part series in one document, you can download it Recession-Proof Agile SOA White Paper. Enjoy!
Agile, Agile, Agile – You Path to Agile SOA – Part 5 (final)
Your Guide Along the SOA Adoption Path
I’ve been talking about Agile SOA, which is an iterative method of working with the business and IT to develop services that better serve the business. In other words, using our methodology, you’re building an optimized business with assets you already own! Not all at once – not over night…very much via releases over time. This is powerful.
So let’s talk about how some customers have implemented our methodology and software.
You can see in the figure that we recommend implementing services in iterations.

Real World Examples
We’re going to take a look at some real world examples now.
Bombay Stock Exchange
Legacy Modernization
First, let’s talk about a Periscope example. The Bombay Stock Exchange uses Periscope. They have a lot of data on Stratus platforms. They wanted to do ad-hoc reporting on that data. But there weren’t tools like Cognos, Brio, etc. that work on those platforms. Periscope makes the Stratus data appear in an Oracle database – as if it’s Oracle data. So any tool that can access Oracle can report on the Stratus data. This simplifies life for the exchange.
Exchange:
– Stratus system – high uptime requirements
– Ad hoc reporting through Periscope
– Simplifies access and control/auditing
IntelliReal
B2B Integration
One of our customers is in the real estate intelligence business. We created a number of services around existing business logic and data. The services were initially used to develop a UI that was used by most of their customers. When customers asked for customization of the UI, our customer would offer that everything they saw in UI was simply a service that they could use as they saw fit. The B2B customers would then use the exact same services to develop their own user interfaces, workflow processes or integrate applications. What you see here are examples of how different companies used the exact same data.
The beauty of building services was that we could use our own services for the UI.
In this first figure, you can see that this is from the IntelliReal site. Enter an address and pick your report type. This call the respective service that often generates a PDF and other times returns data.
After entering an address and requesting a detailed online report, the user can see a list of objects that exist for this property.
The following figure is a PDF that gets generated when a user requests an Intelligent Property Report. One service returns the data for this PDF and another service formats the data and generates a PDF. This way customers can call the data service if they wish to generate a similar report in a different format.
And this figure shows the geosearch functionality. Via Google Maps all of the homes in a neighborhood are displayed and then can be slice and diced as the user sees fit. For example, the user can see the data by the number of bedrooms in a home or the style of home, acreage and the like.
And this figure shows the geosearch functionality. Via Google Maps all of the homes in a neighborhood are displayed and then can be slice and diced as the user sees fit. For example, the user can see the data by the number of bedrooms in a home or the style of home, acreage and the like.

The figures below all represent ways that different customers used the same data as above. They similar call the same services that IntelliReal uses internally and then they graph the data however they choose. For example, you can see that this page shows a simple Google map for a property and a few details about the property.

Another vendor had their own mapping package to display the data on a map. You can see they displayed an index, range for the property value and so forth.

As I mentioned above, IntelliReal displayed the market volatility data in a heat map. This customer wanted to graph the data for a specific property and then to put it into a table at the bottom.

Financial Markets
One View of the Customer, Real Time Updates and Basel II
The financial markets are a great example of a business that requires SOA to comply with federal regulations. I think of Basel II as the SOX of the banking world. One of the Basel II requirements is that a bank be capable of pulling together everything about a customer within one minute. In other words, a 360 degree view of a customer. We all know that we have customer data in a number of systems throughout our organizations. Above you can see that this financial institution has a number of databases and data warehouses.
Using iPerspective and our Agile SOA methodology a company can quickly pull this information together from any number of systems. This also provides for a big payoff when the business changes – such as a new acquisition. Having a service architecture in place will reduce the complexity for these institutions.
Some of the SOA Winners include Wells Fargo, Capital One and JP Morgan Chase.
Non-SOA losers: Citibank, Wachovia, WAMU

Healthcare Illustration of Value
Healthcare is an industry that’s screaming for a service oriented architecture. For example, healthcare facilities are spending millions of dollars in EMR (Electronic Medical Record) systems in order to ultimately save hundreds of millions of dollars. However, there’s a gap in the plan. Only 4% of doctors say they will use the EMR. Why? They say things like “it takes too much time, it’s too hard to use, how does it benefit them?” By working with the doctors to discover their needs and preferences, we can increase the use of EMR, helping hospitals realize their planned savings! Again, our iterative Agile approach is key.
In other words, bringing Electronic Medical Records systems together with other hospital systems provides a huge value to the physicians and nurses. Specifically the business intelligence can be used to drive down cost and improve quality. The CRM data can be used to track insurance and treatments. Other items such as reimbursements and care tracking from start to finish, clinical decision support, inter-organizational system integration, telemedicine for rural healthcare, support for medical tourism and transient patients and integrated care are additional benefits.

Roadmap: Global Services Utility Provider
Another example of how a company might use iPerspective is in the cloud computing world. iPerspective allows you to expose your data and business logic as services. Cloud computing allows you to run your own software on someone else’s hardware. In other words it combines SaaS and HaaS. You can’t do cloud computing without SOA. The advantages of cloud computing are listed here…they are numerous – lowering overhead, you can expense the cost rather than having to capitalize it (i.e. you can write off 100% this year rather than 20%), you have access to your systems throughout the world, it simplifies outsourcing globally too, it’s very flexible, you can turn servers on and off at the bat of an eye and you can get a lot of scaling and redundancy by distributing your servers.

Illustration of the BeTteR process
We’re working in a number of verticals. We have demos geared at specific verticals. So we would love to show you our Agile SOA process around the demo in your industry. We can give you a great illustration of our BeTteR process. In 5 minutes or less, we’ll show you we can not only create a set of secure services, but consume them. We like to show off the consumption using Oracle’s Application Express, but we also have demos using other consumption or mashup technologies. You’ll see how you’ll be able to create buy-in from your line of business managers – very quickly. After all – it’s all about serving the needs of the business – as quickly as possible!
In minutes, create a service to securely access a database
· Resources for projects – who is/will be certified inside your company
· Leadership in Environmental and Energy Design (LEED)
· Show the result of that service in an Oracle Application Express application
Create buy-in from your Line-of-Business Managers!
· Revise quickly to fit the business needs
· Example: want to add data from one of your preferred contractors?
· Influencing people to change by showing them immediate value
· Transform your organization to be service-oriented!
Summary
The bottom line is that by using our Agile SOA methodologies and technology, you’ll be able to deliver results faster and more inline with the business requirements. Our BeTteR process is an iterative SOA process. The end result for you and your business is that this all results in quick wins as a result of quick turnaround, which in the end is recession proof. Like in the book “Who Moved My Cheese” – when the customers change, you need to look for cheese in a new location. In other words, the business needs to be able to respond quickly. The faster you’re able to move and experiment, the better off you’ll be. As they say in the baseball world, the more “at bats” you get, the more runs you’ll have – even with a batting average of 300.

· BeTter is better…
· Quick results = quick wins = recession proof
Thanks to Hubert Smits, Agile instructor for Rally Software for the Agile graphics Credit
Agile, Agile, Agile – Our Technology – Part 4
In today’s blog entry I’m going to talk about our Agile SOA technology!
iPerspective
As I mentioned, iPerspective is our technology that enables our Agile SOA methodology. iPerspective makes all of your data and business logic look like Web Services and Periscope makes all of your data look like it’s in an Oracle database. In other words, both are virtualization technologies. They make non-common platforms operate in a homogenous environment.
Periscope
Periscope is our technology that turns any service into a query. In other words, you can query from a Web Service as if the data is coming from your database.
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
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
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
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!
Differentiators
Here are some of the key iPerspective differentiators:
· Federated (i.e. cross DB) queries
– Security
o 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 -
o 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 more – 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
Open Architecture Model for iPerspective
iPerspective is the middle man between your data or business logic and your consumers. Data meaning databases, files, etc. Business logic meaning code that you’ve already written. By consumers I mean the things that will use your existing data and business logic. Things like mashups or dashboards, workflow or BPEL processes, or applications that will integrate to other applications.
iPerspective is built on open technology and it’s an open architecture as well. What does this mean for you? If it’s built on open technology, why not just go out and download all of the open source technologies on your own? Well, they have shortcomings and they are difficult to pull together. We’ve done the hard work for you. You might ask – what do you mean by an “open architecture?” iPerspective provides open APIs to allow you to add new functionality to it. If you want to interface to some data source that we don’t support today, it’s easy to do so.
iPerspective sits between the source data and business logic and the consumers…so it includes security. iPerspective is flexible – it has an open architecture. You can add your own data sources, gateways, code generators, security, etc.










Recent Comments