There! Enough things in one title? The thing is that Steve Eichert and my whirlwind day covered all of that and more. Let me explain. So, for two weeks, Steve and I have been off discussing/pairing on some big ticket "Infrastructure" items. There are many things on the list and we have been applying both heavy design discussions on the whiteboard with practical prototypes or solutions. These areas have covered the whole spectrum from what will the world look like in 3 months, 6 months, a year, 3 years to caching architecture to workflow to to parallel computing to replacements for CAB to Services to reporting and much more.
Yesterday, we spent a day on our "Reporting Strategy or Reporting Architecture." Being a large Enterprise platform, it is very important to have a comprehensive Reporting story on both the Smart Client side as well as on the Server side. I'll just leave it very generally that there are certain kind of reports for us that are really "Statements" and then Ad-Hoc Reporting. My story for most of the last year and half has been SQL Server Reporting Services. I have had good experiences with it at Adesso even as reporting on Oracle. Of course, there is that "small footprint" of having a "reporting database" for SQL Server but virtually all the "Enterprise Reporting" solutions require some footprint. However, lately it has become totally apparent to us that virtually every single Bank customer of ours is an Oracle shop only other than very small hedge funds and we have really de-emphasized SQL Server. Its still in our CI build and code gen but we are now optimizing for Oracle.
Anyway, we wanted to keep the Statement stuff simple. Forget a whole reporting thing for that. We really only need to generate pretty much canned statements with customizable logos and footers. So Steve and I began to look at a whole bunch of HTML to PDF or .NET libraries for PDF generation. We ended up feeling real good about iTextSharp which is a port of the iText, a free Java-Pdf library. Its free, it's open source, its simple and it has a lot of community support. We were able to get some fairly simple PDF "statements" created without tremendous effort.
We have had really bad experiences with Crystal Reports in the past that I don't really want to go into right now. So, on the client side, the question was whether to "embed" a Reporting tool into our Smart Client or better, allow either a RDL or XML "feed" from our WCF Services layer. Then there is additional considerations on whether to use the power of server-side aggregation of data for reports and display server-side reports through ASP.NET with an engine like SQL Server Reporting Services or Actuate, etc. All of this would be more for "Ad-Hoc Reporting", at a business user level.
Again, we tried to keep it simple, steered away from Reporting Services and again, an open-source solution, this time BIRT, a Java based open-source BI tool. We used Eclipse and BIRT to create Reports using a JDBC connection to our Oracle data sources.
Meanwhile, the VERY NICE folks at Telerik, who heavily support both the MVP and .NET community, sent me a license for Telerik Reporting, to augment the licenses I already have for their other fine products. We spent some quality time.
About this time, we both started to realize that what a lot of these reporting tools wanted was an "XML feed" if you will, particularly Actuate. It made much more sense to have it "point to" XML rather than tight-binding directly to database tables. Then we started to talk about what really needed was to have URI-addressable sources of XML formatted data.
That's when both cried "Astoria!" We finally get to use an Orcas thing! -) So we downloaded Astoria, fired up Orcas, and pretty much, without looking at any doc, were able to get a prototype working that used a REST-style interface over our SQL Server data returned via an Entity Framework model and URIs to point to it. I think, it's fair to say, that we were both quite impressed with Astoria's power and ease of programmability in this regard. It just seems so natural to me now that data and resources being surfaced through URIs and HTTP verbs.
Whew, today it's Caching -).
Technorati Tags:
O/RM,
Oracle,
Orcas,
WCF,
REST,
Reporting Engines,
SQL Server,
SQL Server Reporting Services,
BIRT,
Java,
Telerik,
Actuate,
Astoria,
Extreme Programming,
Entity Framework,
ADO.NET,
PDF
Posted
07-25-2007 2:18 PM
by
Sam Gentile
Filed under: Agile and Extreme Programming, WCF/Indigo, C#, Smart Clients, Financial and Banking Vertical, Orcas, O/RM and Entity Framework, LINQ, Agile Development, Collateral, Banking, WCF, Featured, Entity Framework, Windows Workflow, ADO.NET, Apache Axis, .NET Framework 3, NHibernate, CAB, Parallel Computing