
NESUG 16 Internet/Intranet, the Web & SAS II004 Using AppDev Studio and Integration Technologies for an Easy and Seamless Interface Between Java and Server-Side SAS Barry R. Cohen, Planning Data Systems, Inc. ABSTRACT Figure 1 depicts the n-tiered architecture. The tiers, or The application landscape has changed substantially layers as they are sometime called, typically are: for SAS application developers. Today’s landscape • Client Tier uses a distributed-object, component-based • In a web-enabled application, a web browser architecture that integrates SAS server capabilities into is used for user selections and presentation enterprise-wide applications that are n-tiered, Web- of results. This is accomplished through web enabled, and thin-client. SAS has developed new pages served from a web server and products to help you build SAS applications in this displayed in the client browser. landscape. These include the AppDev Studio product • An alternate approach is to run a Java suite including especially webAF within it, and application in an application window. In this Integration Technologies. You will likely want to case, the Java application can communicate leverage a few key features of these products as you directly with server-side SAS without use of a build Web-enabled SAS applications. From AppDev web server. Studio, these features are SAS-aware Java classes for • Middle Tier Java programs, SAS Custom Tags for JavaServer • Web server Pages, and SAS Components for applets. From • Receives requests from client browser Integration Technologies, the feature is the Application for services. Facility. These product features allow an easy and • Sends results, as markup language, to seamless interface between your client- or server-side client browser. Java applications and your server-side SAS programs • Application server (also referred to as Java and data. This paper provides an overview of today’s server) SAS application landscape, and discusses how to use • Receives requests from the web server these key SAS product features to develop applications for Java servlets and JavaServer pages. in this landscape. • Executes these Java programs which in turn formulate and make data and APPLICATION LANDSCAPE TODAY compute service requests of the SAS server layer. The landscape has changed for application • Provides some of the business logic. development in SAS environments. Previously, we • Builds web pages with SAS results as used SAS software to build both the client and server content, and sends them to the web sides of our applications, typically using SAS/AF for the server for final send to client browser. user interface (UI). As an alternate, some of us • Back Tier previously used a non-SAS product for the client-side, • SAS server layer for data and programs - (e.g. Visual Basic) to interface with server-side SAS. provides business logic and data. However, the non-SAS client approach did have • Database server layer - provides additional significant problems regarding direct communication enterprise business data. between the client and server applications, and was probably not as prevalent. Today’s landscape uses a In this new architecture, one key difference from the distributed object, component-based architecture that past for SAS application developers is that SAS integrates SAS server capabilities into enterprise-wide software and data reside only on the server side. Other applications that are n-tiered and are often Web- vendor software is used on the client side, and on the enabled and thin-client. This basically means: other servers involved. Specifically: • The business logic software, the business data, • The client side is thin, using only browser software and the supporting software involved in the that processes (displays) markup language application are distributed across multiple (HTML). These web pages may have Java hardware platforms (and operating systems). And programs embedded in them as applets. multiple application software vendors are involved • The web server uses non-SAS software. Several overall. vendors provide this software. From the SAS • The software pieces of the multiple vendors are application developer’s perspective, it is largely a seen as components that talk to each other, and black box of pre-programmed software that is together they comprise the full application. used but not developed. • The components are objects, in the Object • The application server, or “Java server” as it is Oriented Programming sense, and they talk to sometimes called, uses the Java language. This each other across the software vendor and application sits between the web server and your platform boundaries according to certain object SAS-based business logic and data on the SAS model standards that have been established. server. Unlike the web server application, this • There is a separation of functions within the application does typically involve some code application by hardware platform and software development as part of the overall application. platform. 1 NESUG 16 Internet/Intranet, the Web & SAS Client Tier Middle Tier Back Tier Browser UI Web Server Database Server Activities: Web server software Additional enterprise data Select actions User input Results Application Server Presentation • Java Servlets SAS Server (Business logic) • SAS programs Java Application JSPs (Business logic) Window UI (Presentation) SAS data Same activities as above. Java Virtual Machine Figure 1: Application Landscape Today The bottom line is that today, SAS application In general, these tools help you to write Java programs developers need to know new things. Yesterday, you that: (1) establish a connection to server-side SAS, (2) could build a good client-server SAS application using request SAS data and compute services, (3) receive Base SAS and SAS/AF, with SAS/CONNECT to handle SAS results and builds web pages with SAS results as the cross-platform connection. Today, you need to dynamic content, and (4) build web pages that provide know the Base SAS, Java, and HTML languages, the application’s UI in general aside from the something about using a web server, and either interactions with server-side SAS. SAS/CONNECT or SAS Integration Technologies to handle the cross-platform and cross-vendor object-to- These tools provide significant help to experienced object communication. And in this set up, Java and Java programmers in this environment, because they HTML, instead of SAS, are used to: generate much of the code that is needed, and because • Create the application’s user interface. they handle all of the technical details of object-to- • Make requests, through the web-enabled UI, for object communication between Java and SAS services. SAS compute and data services. And their value to inexperienced Java programmers in • Receive SAS program results, build web pages this environment is even greater. In this paper, I will with these results as content, and pass these introduce these new tools generally, provide some pages to the web server for browser presentation. specific information about what these tools do, and provide a few code examples of how they work. Java is new to most SAS application developers and we thus face a daunting task in trying to use Java (and APPDEV STUDIO & webAF - HTML) in these roles within our applications. However, BACKGROUND SAS has provided some new tools to help us. These tools are available through these new SAS products: SAS AppDev Studio is actually a suite of SAS products the AppDev Studio suite, and Integration Technologies. used to develop applications using Java technology. It The specific tools are: is probably fair to say that AppDev Studio was • SAS-aware Java classes, in AppDev Studio. developed by SAS directly in response to today’s • SAS Custom Tags for JavaServer Pages application landscape. SAS knows that its software and development, in AppDev Studio. data will be server-based in this landscape and will • SAS Components for Java applet development, in have to integrate into it from this perspective. And SAS AppDev Studio. knows that most people will access SAS servers from a • The Application Facility, in Integration web-enabled client. Thus, SAS knows that Java Technologies. programs will be fielding browser requests and in turn making requests of SAS. So application developers in SAS environments will need to write Java programs 2 NESUG 16 Internet/Intranet, the Web & SAS that access server-side SAS. AppDev Studio has been from a webAF data model and transform it into device- developed by SAS to address this need. It is used to specific markup language. (And you can even use build Java applications that run on either the client or TransformationBeans to retrieve the data for dynamic the server side. AppDev Studio automates many steps content). in the Java development process. And it especially provides help for the cross-platform communication These SAS Components are part of the SAS Custom between Java and SAS. Tag Library provided with webAF. The webAF program source code window for JSP development has an webAF is one of the core components in the AppDev available Component Palette, which is how SAS Studio suite, and it is the primary Java development delivers its SAS Custom Tag Library. You can drag a product in the suite. Java technology can deliver its tag from the palette and drop it on the source window, functionality in today’s application landscape by running and the default drop text syntax is displayed. You can either server-side, as servlets or JavaServer Pages, or then modify the tag attributes by editing the code in the client-side, as applications or applets. And webAF source window, or you can make the modifications provides all you need to create servlets, JavaServer without writing code by modifying settings in the tag’s Pages, applications, and applets. webAF is an available Properties and Customizer pop-up windows. integrated development environment (or “IDE”). Like other IDE’s, webAF is a component-based visual When you use the webAF source window to build a environment with a full set of drag-and-drop tools that JSP, the various SAS Custom Tags on the webAF generate Java code.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages10 Page
-
File Size-