Programming with the RAS
The Report Application Server (RAS) is the recommended tool for developing enterprise caliber reporting solutions. It can communicate with enterprise software to deliver a high performance, highly scalable reporting solution, or it can be integrated into a Windows thick-client application to utilize advance reporting techniques. RAS also gives you the ability to do dynamic report creation during runtime. This means that your application can create reports from scratch or add/delete report objects during runtime. These powerful features aren’t available if you’re application only uses Crystal Reports Basic.
This chapter gives you an overview of the RAS and shows you sample code for creating and implementing RAS enabled applications within the .NET environment. Due to the complexity and broad reach of the RAS API, it is beyond the scope of this chapter to give a thorough analysis and tutorial of the entire RAS object model. Instead, the goal is to show you how to create a new RAS application and demonstrate common coding solutions that you will most likely encounter on the job. This provides with a solid foundation to expand upon for building more complex applications. If you want more information, the RAS software installs ample help files to study and the SAP website has great information on it.
RAS Overview
The RAS server is implemented as part of a larger enterprise reporting solution. This could be Crystal Enterprise, Crystal Reports Server, or Busines Objects Entrprise. This is referred to as managed reporting because the reports are managed by the enterprise software and the RAS retrieves them from the enterprise software prior to working with them. You can also use unmanaged reports which are loaded directly from the server using a fully qualified file path or URL. The RAS server component is optional and is only applicable for large corporations that need to scale reports across the enterprise. It’s also important to have the necessary staff to support it.
The final piece of the RAS puzzle is the RAS SDK (software development kit). It has an application programming interface (API) that lets your .NET application talk to the RAS and modify reports. This is also referred to as InProc RAS because the necessary library files are installed transparently to the user’s computer and your application invokes the report engine in process. This is strictly for applications that need a greater degree of control over report objects or when it is necessary to create report objects dynamically during runtime.
The version of RAS that you use is very clearly dictated by your reporting environment. Large corporations will use the version of RAS that works with enterprise software. Small reporting solutions will use InProc RAS for reports that need dynamic reporting customization.
Licensing
Disclaimer: The licensing contract that Crystal Decisions provides with RAS is complex and subject to change at the discretion of Business Objects. It is also subject to variation for different customers depending upon their software contract. This section is intended to give you a general understanding of the license as of the time of publication (July 2008) and how it might impact you. I am not a lawyer and this is not meant to be a legal interpretation of how your company can use the software. You need to have legal council review the contract in relation to your company’s needs.
Thick client .Net applications that include the .Net runtime engine can be freely redistributed internally and externally to third parties. Web applications that include .Net runtime engine can be freely redistributed internally only. If you wish to redistribute a web application to an external third-party, you will have to acquire a copy of Crystal Reports 2008 for each company the application is distributed to.