* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Commercial Messenger
Survey
Document related concepts
Transcript
Meir Botner David Ben-David Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee. Project Requirement Support two types of clients (Customer/Provider). Registration through a web interface. Enable Customer-Provider sessions Text messaging communication. Video/Audio conference system. Cash transaction between the system users . Providers ranking system. Technologies SQL (MSSQL Database + stored procedure) RPC (.NET Remoting) .NET ASP.NET HTML Java script C# .NET Framework The .NET Framework is the infrastructure for the new Microsoft .NET Platform. A common environment for building, deploying, and running Web Services and Web Applications. The .NET Framework contains common class libraries - like ADO.NET, ASP.NET and Windows Forms - to provide advanced standard services that can be integrated into a variety of computer systems. .NET Framework Cont. Language neutral. Provides simplified development and easy integration between a number of different development languages. Implements the Common Language Infrastructure (CLI) standard with the Common Language Runtime (CLR) virtual machine. The CLR’s just-in-time compiler converts Common Intermediate Language (CIL) code into code native to the operating system .NET Remoting Remote Method Invocation (RPC) Allows an application to make an object available across remote boundaries, processes or even different computers connected by a network. Commercial Messenger Server implements a .NET Remoting object. Remote service runs in Singleton mode, allowing a stateful communication. C# We have chosen C# as are main programming language Supported by the .NET Framework CLR Object oriented syntax based on C++ Garbage collection mechanism C# provides syntactic sugar for a common pattern of a pair of methods, accessor (getter) and mutator (setter) encapsulating operations on a single attribute of a class, in form of properties Methodologies Throughout our project, we have widely used design patterns such as: singleton pattern Event driven programming (EDP) methodology (C# delegates and events) We have supplied thread safety through usage of monitors and locks, as well as readerswriters lock mechanism Web Development ASP.NET Stands for Active Server Pages IIS passes browser requests to the ASP engine. The ASP engine reads the ASP file and executes it. The ASP file is returned to the browser as plain HTML Access to database. Provides security. JavaScript is a scripting language widely used for client-side web development. These technologies were used in building up the Commercial Messenger registration site MSSQL Our project’s database is stored on a Microsoft SQL 2005 server. All database actions are carried out by stored procedures. Stored procedures are ran by the DAL (single access point to the database) SQL Database Diagram We are using the SQL data base to save all the users personal details and the conversations history. System Architecture System Modules Client Module Implements the client application ran by a single customer or provider in the system. Concentrates the business logic, as well as the graphical user interface (GUI) of the system. Client – Class Diagram The main form is a singleton that functions as the “heart” of the client application. Client – Class Diagram Control classes Controls the user contact list, status voice & audio and conversation charge. Client – Class Diagram All the dialog are activated from the main form and are used to update and set the user details (balance, password, contact list ……) DAL Module The data access layer of the system. The DAL is implemented as a singleton, providing access to data stored in the system’s database server. It intermediates between the common data classes of the system and a dataset of strongly typed table adapters and tables. DAL-Class Diagram The data access layer implement all the function that the upper levels needs to communicate with the data base to get and update data. Data Module Exposes common interfaces and classes, used by all the system’s modules Data – Class Diagram We use this classes & interface in all the other modules Server Module The Commercial Messenger Server implements the business logic layer, intermediating between the DAL and the clients of the system. It is implemented with .NET Remoting (RPC) and concentrates the entire functionality of the system in a thread safe manner. Server – Class Diagram The server module have all the function that the client need for interaction with the lower levels and also classes for holding an active sessions.