13 | | * Persistence at this iteration is not a requirement. It can be fake (dumping everything to memory) for ease of implementation. |
14 | | * S2S Core module should use the base resource model of Sophie2 (that includes book, users and groups at this iteration). |
15 | | * S2S Core should be accessible from the web UI, the web services or the client only through the facade. |
16 | | * Facade will expose the core functionality to the WS, DC and Web UI. It will have direct access only to the core. |
| 13 | * Server persistence at this iteration is not a requirement. It can be fake (dumping everything to memory) for ease of implementation. |
| 14 | * The Sophie2 Server should use the base resource model of Sophie2 (that includes book, users and groups at this iteration). |
| 15 | * S2S should be accessible only through the facade. |
| 16 | * The modules should be well structured, with clear communication between each other. |
33 | | Since changes serialization is not implemented yet, it is not possible to send changes from the server to the client. For this revision, it would be best to use the current persistence and send a copy of the book in persisted format to the client. The client on its turn will download the book and open it. This will be good for demonstration of the working web services, as well as client connectivity. It will also show that the server really works with the base modules and with the client resources. |
| 33 | === Web Services === |
| 34 | Since changes serialization is not implemented yet, it is not possible to send changes from the server to the client. For this revision, it would be best to use the current persistence and send a copy of the book in persisted format to the client. The client on its turn will download the book and open it. This will be good for demonstration of the working web services, as well as client connectivity. It will also show that the server really works with the base modules and with the client resources. |
| 35 | === S2S Decomposition === |
| 36 | Here is a brief idea for a module decomposition, discussed 2 months ago: |
| 37 | * There will be a server.persistence module which will eventually maintain a database with some records. It will grant access only to the S2S core. (Actually, there is currently such module). |
| 38 | * There will be a server.core module, which uses the persistence one and adds some business logic to it - sessions, resource access, etc. It will also hold a server facade, which will expose the core functions. The functions themselves will not be accessible by anyone except the facade. |
| 39 | * There will be modules for S2S UI, S2S Web Services and eventually S2S Direct connect. They will communicate with the core facade and will eventually be extensible. |
| 40 | * The client will have modules which connect to the web services / direct connect and provide the facade API to Sophie2. Currently, there is one such module - server.web_services, which is used only by base.connecticity. |