Image

Technology Overview


Basic Architecture

It is a VB.NET / C# based program that has a client (Portal-like a browser) and a server to supply information to the front-end(client). A protocol has been developed to communicate to the server side and it uses HTTP/HTTPS as communication protocol. Simply speaking it uses web services to communicate to the server. All the information like face of the form (GUI), events, data validations, invoking methods and data are coming to the client as XML from the server and the front-end caches information that are bulky to avoid network overheads. It works like any normal Windows program with its user friendlyness, but works totally like browser so that it could be reached from anywhere.

Security

It has Table Level, Field Level, Operation Level, Role based, User based access rights. It has unique owner based access - like the user/owner of a document/form could only open his/her documents and the manager could open all the documents. Everything including face of the forms, events, data, reports and security comes from the server in a securely encrypted manner to the client and the client interprets the information and works just like a windows program.

Ease of Development and Deployment

The server program serves as a pseudo framework, it is simple and generic to develop virtually any program. Significant portions of the computer programmers who are working at Bucca Solutions are freshers - 2 years experienced and are developing pretty good programs in a short period of time using this interfaces and architecture. The architecture restricts them from making mistakes so we spend more time developing and less time debugging. We could save at least 60%-80% or more of the development time, deployments can be made in realtime and in matter of minutes based on the requirement. Since it uses the .net webservices over http/https it could be used inside(Intranet)/ outside(Internet) the network so we can develop one program that works inside and outside. No need for a windows program work inside the office and a Web based program to access from outside, or a VPN connection to access your network.

Easy Management

Since the architecture uses webservices, don't be assuming that we would have to manage hundreds of web services as we add functionalities to our programs, it actually is under 10(ten), as mentioned earlier those are the pseudo framework webservices, no operational webservices that are specific to the program that we develop are installed in the web server; those are placed and well managed inside a database in SQL Server 2000-2005, Oracle 10g or mySql (but mySql is a bit slower when we invoke transactions). Oracle 10g and SQL Server 2000-2005 performed reasonably well. Currently the server is placed on a Microsoft Winows 2003 Server and the database is running on Microsoft Sql Server 2005.

Performance

As any program that works over internet the speed of the internet connection plays an important role in deciding its performance, Portal was a bit slower, it was taking 7-15 seconds to open a reasonably content-rich form, when it was connected through 36Kbps / 56 Kbps. When connected through 256 Kbps connection on client side and the server is hosted on a New York based hosting service provider, they claim that they host their webservers in Tier 1(T1), it performed really well, it took 1-4 seconds to open the same form for the first time (without caching) after that it took only 1,2 or 3 seconds, thats pretty reasonable response time for any program over the web for this setup.

When it is used in the used local intranet with 10/100 Mbps, it just performed like anyother windows program, there was no difference in performance what so ever.

Program updates

Any changes we might want to make to the program goes to the database through the client(Portal) itself or through some SQL scripts. Absolutely, very easy to manage. It will immediately reflect any changes to the forms or we can configure system to cache some specific forms that does not change that often. By default it caches all the forms when it opens for the first time.

Reporting

The reports uses a modern XML based RDL technology from Microsoft and it supports Crystal Reports (for backward compatibility only). In Portal the reports are also stored in the database XML and the data is supplied to the client after security verifications. It is an all in one architecture like development environment, report server, etc. In case of Crystal reports the .rpt files has to deployed to every client (might be suitable for intranet enviroment) but with RDL everything is online.