Purpose
The purpose of this chapter is to describe the hosting model of the Platina Standard API and provide answers to related questions.
How is the API hosted?
Any services that will IIS-hosted must reside inside of an IIS application. The API is hosted as a separate IIS web app that has name GeneralWWW by default.
When you run script runGeneralMsDeploy.bat it deploys all required DLL files to the following path 'Default Web Site/GeneralWWW/bin'.
After that you will need install SQL stored procedures and tables.
Important information!
You must install these SQL procedures and tables in the same server that you installed Platina database. This is due to the fact that stored procedures refer to tables stored in the Platina database.
Can the API be hosted on another computer, another instance of IIS, if so how does that work?
Before directly answering this question, it is necessary to clarify some of the details of the system.
All interaction with the Platina Standard API services takes place through the service endpoints. Endpoints provide clients with access to the functionality offered by a service.
Each endpoint consists of four properties:
- An address that indicates where the endpoint can be found.
- A binding that specifies how a client can communicate with the endpoint.
- A contract that identifies the operations available.
- A set of behaviors that specify local implementation details of the endpoint.
For example, let's take a look for URI from the sample app.
The address URI for most transports has four parts.
net.tcp://ws512.i.sigmaukraine.com/GeneralWWW6.0/PlatinaService.svc/deedManagement
- has the following four parts:
Scheme: net.tcp
Machine: ws512.i.sigmaukraine.com
(Optional) Port: 80
Path: /PlatinaService.svc/deedManagement
The binding specifies how to communicate with the endpoint. This includes:
- The transport protocol to use (for example, TCP or HTTP).
- The encoding to use for the messages (for example, text or binary).
- The necessary security requirements (for example, SSL or SOAP message security).
By default, Platina API services use netTcpBinding. It is a secure and optimized binding suitable for cross-machine communication between applications.
The contract outlines what functionality the endpoint exposed to the client. All contracts can be found at this link Contracts.
All of the described endpoint settings are stored in the web.config file that is deployed with the services to IIS, and you can modify it to your liking.
As conclusion answer for your question: API can be host on another computer or IIS instance.
What are the dependencies between API and Platina app?
As mentioned earlier, the main dependencies between Platinum and API, it's a database.
Also there are dependencies on several core assemblies. Some of them are shown below.
- cBinder
- cDatSuperClass
- cDiary
- cDocument
- cExtendedField
- cFunctions
- cInfoHeap
- cInitiator
- cPerson
- cPlatinaSettings
- cPostList
- cProcess
- cProperties
- cServiceWriting
- cSqlHelper
- cStructure
- cTypes
- eBinder
- eCustomObject
- eDatSuperClass
- eDiary
- eDocument
- eExtendedField
- eFunctions
- eInfoHeap
- eInitiator
- eMember
- ePerson
- ePlatinaSettings
- ePostList
- eProcess
- eProperties
- eServiceWriting
- eSqlHelper
- eStatus
- eStructure
- eTypes
- Formpipe.Data
- Formpipe.Interfaces
- Formpipe.Platina.DataTypes
- Formpipe.Platina.Legacy
- Formpipe.Utility
- MaskingEngine
- Platina.MeetingMgmnt.Application
- Platina.MeetingMgmnt.Core.DomainModel
- Platina.MeetingMgmnt.Infrastructure.Interfaces
- Platina.MeetingMgmnt.Interface.Application
- Platina.MeetingMgmnt.Repository