|
SDS's Software engineers have long-term experience in creating J2EE applications of different scales - from enterprise infrastructure components to complex integrated solutions. A typical J2EE solution is a web application that consists of a web browser as a client, application server, and a database.
The diagram below depicts J2EE development experience of SDS's experts.
Server System Platform
SDS's experts deliver the client-server applications, where depending on customer needs a server side may consist of one or more servers running on different operating systems, i.e. Windows NT/2000/XP/2003, Linux, Solaris, etc.
We typically use one server, when customer needs a cost-effective solution and requirements for solution reliability and performance are moderate. When customer requirements are high, SDS's experts deliver clustered solutions built on multiple servers. Clustered solution increases application reliability, performance and availability by connecting multiple servers together
We use the following products to implement our client-server J2EE solutions:
| Application Container |
Data Storage |
|
J2EE application servers: IBM WebSphere Application Server, JBoss, BEA Weblogic.
Standalone web servers (Servlet/JSP engines): TomCat, Resin
|
Databases: IBM DB2 UDB, Oracle, PostgreSQL, Informix, Interbase, Sybase. |
Our core competency relates to delivering solutions using IBM WebSphere Application Server, JBoss, and IBM DB2 Universal Database 7.2, 8.1.
Client Tier
Client Tier is a J2EE application front-end that provides communication with system users. In most J2EE applications we deliver, a client side is based on a web browser (IE, Mozilla, Opera, Netscape 4.x). A client side can also be a desktop application, a mobile device browser/ application, or a B2B solution client.
Web Browser Environment (Thin Client)
We use a Thin Client when deliver the solutions for organizations with a large number of employees or service providers focused on mass Internet users. Thin Client's advantage is that no additional software needs to be installed on client side, so a Thin Client requires minimum support for client platform. It is typically a web browser that renders pages built with HTML/ XHTML and JavaScript.
Because a HTML Thin Client GUI is limited by markup language/ JavaScript capabilities, we can deliver advanced solution using a Rich Client or a Fat Client. We have proven expertise in using different approaches for building rich GUI in a browser environment (Browser-based Rich Client). HTML page serves as a host for a client built with different technology: Java Applet, ActiveX, XForms, Flex, etc. Communication is implemented with HTTP, Web services, or JMS. This approach considerably extends GUI capabilities, while preserves the benefits of a Thin Client.
Desktop Application Client (Fat Client)
Our software engineers implement a Fat Client, if a customer requires more control over client system environment. GUI capabilities in this case are practically unlimited. SDS's experts deliver desktop applications in a wide range of languages: C++, C#, Java, Visual Basic, Object Pascal (Delphi). Usually, a client application connects directly to EJB layer via Internet Inter-ORB Protocol (IIOP) or Web services.
Wireless devices
Our software engineers have experience in using IBM WebSphere Transcoding Publisher to provide access to content both from desktop browsers and from mobile devices (WML, Palm OS HTML). Please learn more about our experience in delivering solutions for PDA and mobile phones.
B2B Clients
We have experience in integrating different software systems used by different organizations
(business partners). The system integration helps to automate collaboration processes
and improve business performance. We use de-facto standard technologies SOAP, WSDL,
UDDI to build the web-services-based collaboration. When a customer needs professional
assistance, SDS's experts are readily available to help organizations clearly define
their collaboration processes and integration requirements.
Web Tier
Web Tier connects user interface on a Client Tier with business logic on a Business Tier. SDS's experience in Web Tier development allows to deliver J2EE applications with a user interface optimized to address specific customer needs.
To deliver Thin Client/ Fat Client-based systems, we use Web components (Servlets and JSPs). Web components generate web pages and control user interface.
To support Rich Client, we extend Web Tier with server-side components (Flex, XForms).
To support Rich Client, we extend Web Tier with server-side components (Flex, XForms).
SDS's also delivers J2EE solutions, where the data can be accessed both from a desktop browser and a mobile phone. In such case, Web Tier needs to provide content in various formats. For example, we can deploy IBM WebSphere Transcoding Publisher on the server side to provide HTML content translation into WML format.
SDS's experts deliver client-server applications, where a client side is mobile smart phone application. Learn more about our skills in wireless technologies here.
Business Tier
SDS's experts develop Business Tier in most J2EE software solutions. Business Tier is built with Enterprise JavaBeans (EJB). It provides data and transaction processing logic (business logic) for a J2EE application. Our development experience allows us to develop highly scalable solutions capable to meet the growing demand for solution performance. In case of simple applications, we do not develop a Business Tier, so system users access data directly from the Web Tier.
To provide convenient and fast way for creating data storage mechanism, we use entity beans with container-managed persistence (CMP). When we have data storage constraints, we can also use bean-managed persistence (BMP)
We have extensive experience in automating business processes among business partners or within one enterprise. We deliver our B2B collaboration systems and workflow solutions using the following workflow engines: IBM WebSphere MQ Workflow, IBM WebSphere Enterprise Process Choreographer. We also have experience in coding asynchronous operations using message-driven beans (MDB), e.g. in delivering workflow solutions.
Web Services
SDS's J2EE experts have a deep technological expertise in Web Services and Web Services security. Web Services are used to provide communication between loosely connected system components. Web Services are easy to deploy. We normally engage Web Services, when a customer requires a cost-effective solution.
We use the following standards and products for Web Services development: WSDL, SOAP, UDDI, JAX-RPC, AXIS runtime, .NET runtime, WAS runtime.
Client-server applications
SDS's J2EE experts have a deep technological expertise in Web Services and Web Services security. Web Services are used to provide communication between loosely connected system components. Web Services are easy to deploy. We normally engage Web Services, when a customer requires a cost-effective solution.
Complex server systems
We have successful experience in using Web services for integrating heterogeneous software systems. Engaging Web services is in particular effective when different teams work independently on solution components development. The components can be developed on Java, .NET, and Win32 platforms.
B2B collaboration solutions
We use Web Services for delivering B2B collaboration solutions. Web services has become a standard today for building B2B collaboration infrastructure.
EIS Tier
EIS (Enterprise Information System) Tier consists of all enterprise information systems, such as relational databases ( e.g. IBM DB2 Universal Database, Oracle, PostrgreSQL, Informix, Interbase, Sybase, etc.) or other databases (Lotus Notes, etc.).
We have extensive experience in integrating complex enterprise systems. Every organization has unique software infrastructure supporting its business processes (e.g. based on Lotus Notes or based on Microsoft technologies). To make different software infrastructures effectively work as a single system involves different kinds of integration tasks: propagating data access to EJB level via JCA connector or JDBC, integration via JMS, IIOP or Web Services.
To provide messaging services for integrated systems or asynchronous operations, we use Message-Oriented Middleware. We have experience with IBM WebSphere MQ and JBoss MQ message service providers.
Security
Security is a high priority issue for SDS's J2EE experts during the entire project lifecycle. User roles and access rights are defined when initial requirements are gathered. Defined user roles and access rights are then used in designing solution business logic and data storage. Finally, security requirements impact the system deployment and infrastructure configuration (firewalls, proxies).
To ensure information protection during data transmission, SDS's engineers use HTTPS, PGP, GnuPG, and WS-Security technologies. In some cases Digital Signatures are used for authentication, authorization, non-repudiation, and to guarantee integrity of the sent messages. For centralized request/response validation we typically use IBM Web Services Gateway.
Other technologies used by SDS's in J2EE applications
To address specific customer needs, SDS's experts use the following IBM products:
- WebSphere Portal - to create highly-customizable portals
- WebSphere Commerce - to deploy ready-to-use Web shops
- DB2 Content Manager - to manage all forms of content: document, web, image, rich media
- IBM Web Services Gateway - to set centralized request processing
SDS's Software is a customer-centric company. Our long-term experience in developing Web services applications gives us necessary capability to select the Web server, J2EE Application server and Database that precisely meet client business needs and budget constraints. For some customer we recommend high-end, expensive solution (IBM WebSphere, BEA WebLogic, Oracle), other clients may only need a low-end, inexpensive solution (jBoss running on Linux).
In every customer engagement we also consider other cost factors, such as cost to build and evolve a solution on that platform, the cost to maintain the solution, and possible migration cost.
|
 |