Delphi Pages Forums  

Go Back   Delphi Pages Forums > Delphi Forum > General

Lost Password?

Closed Thread
 
Thread Tools Display Modes
  #1  
Old 08-25-2016, 02:14 AM
FreakaZoid2 FreakaZoid2 is offline
Senior Member
 
Join Date: Jul 2009
Posts: 362
Default New Service App Project...

I am fixing to start creating service app that uses FireDac to link with data.
I am in total virgin territory here so any suggestions, examples, avoids and watch out fors would be a great help.
i have already written a vcl forms app that use firedac to connect to the data and ran some simple queries to verify that i can make it all work, proof of concept stuff. but now i am ready to start on the service app.
  #2  
Old 08-25-2016, 07:24 AM
Norrit Norrit is offline
Moderator
 
Join Date: Aug 2001
Location: Landgraaf
Posts: 7,335
Default

And what is the purpose of this service.
Is it a communication service (SOAP/REST), a monitoring service (poll)

Or perhaps a scheduled service (execute actions at given points)
If it's the last it's perhaps better to build a cmd app that you attach to the windows Task Scheduler.
  #3  
Old 08-25-2016, 02:29 PM
FreakaZoid2 FreakaZoid2 is offline
Senior Member
 
Join Date: Jul 2009
Posts: 362
Default this will be a communication app

Currently we have an odbc driver for accessing our data for 3rd party software (crystal reports,...) So now mgmt has asked if we could write a service that we could use to query whatever info that we might need or want from our clients. roughly 2,200 clients and other than some basic info we really don't have any idea about whats in our clients data. example our Utility Billing application has a Master file that indicates the status of those customers. A lot of times we have to get connected directly to a client and run a report just to find out how many Active accounts they have.
So now we are looking to put a service in place for us to query that data. Now the other driving force for the server communications we are looking at using ZeroMQ. so my service application will simple be used to make queries of our data.
  #4  
Old 08-25-2016, 03:05 PM
Norrit Norrit is offline
Moderator
 
Join Date: Aug 2001
Location: Landgraaf
Posts: 7,335
Default

And how do you communicate with this service (that should be installed @every client if I read correctly) ???

I'm not familiar with ZeroMQ, but if that's taking care of communications and your service is only doing data gathering, what is the trigger to start gathering?
If so and ZeroMQ can trigger this service a cmd app would be sufficient. A service is a process that runs all the time, so in my oppinion it has to be doing something all the time and not waiting. If it should be triggered by external software it's not a service!

Management told you to build a service, I can understand. I guess it will be a SOAP/REST service, so you'll have to change each client, install IIS (if not) and then create a website. Register this service and so on. Who is going to maintain all this?
And then comes my biggest concern here. If you write a full query-engine over SOAP or whatever is the same as just giving the DB world wide access.
Something tells me that there might be some security issues...

Why not the other way around, just a push from the client to a webservice you control with the data from the client. If it's for management resources if you push data (only the parts that are relevant for management) from each client to your central organisation db lets say each evening the reports are still relevant. And this can be done with simple cmd app and a register script for task manager @client side.
So depending on requirments (now management basically says they want access to the complete client db through a service, I would strongly tell them no way) there are several paths to achieve this goal.
I would first make some concept designs (drawing of data-flows) and present them back to management. Give feedback on pro's and con's of each choice and let them decide. Then they hopefully see that this "simple" question is in fact not so simple. Just because you can access this data from anywhere you have a potential breach, so you'll have to re-evaluate all security. And that just because management told you to walk this route...

So, a lot of text, but for me, without knowing all the ins and outs at this point, I would say management to write the full user spec (so not the one line that they can execute some query at a client). And with this full user spec you can write a tech spec.
Because that's what I find weird, your manager is a tech-guy and tells you to write a service? Or is he an end-user, so he has to give you the user spec.
But I hope management gives you enough time for all this, because writing this all is easy if you don't oversee the consequences... And if you have to take all these consequences in your code this is exponential in development time...
  #5  
Old 08-25-2016, 03:45 PM
FreakaZoid2 FreakaZoid2 is offline
Senior Member
 
Join Date: Jul 2009
Posts: 362
Default Interesting and helpful info

I have talked with the project manager about how the communications is to take place. He indicated that ZeroMQ was going to handle all the security/communications and that they just needed something from me to handle the query and returning whatever info requested. He indicated that it doesn't have to be a service, that ZeroMQ could call an exe, dll or service. I just needed to be able to pass back xml/json for the ZeroMQ processor to send back to our server. So apparently this just got a lot simpler from my perspective and my proof of concept app would be a good starting point.
Looks like with ZeroMQ we are setting up a secure server and that on the client side will also be secure via ZeroMQ. All they are needing from me is the ability to query and return info.
Closed Thread

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT. The time now is 07:56 PM.


Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2019, vBulletin Solutions, Inc.