How can we access the Navision Table schema?
I know that Navision can publish the tables as a page service that can be accessed outside.
But is this the only way or there is a some other way in which Navision can helps us in doing this.
Also BizTalk requires table schemas in order to perform CRUD operations.
Is there any other way to create BizTalk schemas other than through Navision where tables are exposed as service?
If by "Table schema" you do mean the database directly, you would use the WCF SQL Adapter: http://msdn.microsoft.com/en-us/library/dd788523.aspx
Using the WCF-SQL adapter you can access the tables; but if the tables are owned by Navision, to be SOA compliant, I would prefer to access the data through the WebService that Navison exposes. That way, if you ever replace Navison, you are not locked to the table and data structure.
Related
Given your example:
https://github.com/corda/flow-db
I have a question.
Is it ok to create and store custom data within the Node database? Reading the Corda API Persistence section, I thought it could be used only to access the node database, and not to create new tables, etc. What would be a reasonable description of what can and what cannot be stored via CordaService?
It's totally OK to use Custom tables in Node. The ServiceHub actually provides you will a Connection Object. getServiceHub().jdbcSession(). As long as, you don't do some Update/Delete to the Nodes existing table you are fine. You can create any table you want and use it as per your need. As of now, corda doesn't expose JPA to map your tables to an Entity class. I guess you could see this feature in some future release.
Right now I'm currently converting WCF web service to DataTable (we know this can get messy), then planning to convert it to SQL Db Type. I was thinking, can't I just consume the WCF service as a SQL Db Type? If so, I've searched and couldn't find a solution to this. What I'm planning to do is sending the DataTable over Sql Data Type.
There exists this approach: http://sharpfellows.com/post/Returning-a-DataTable-over-SqlContextPipe. However, that's a 2006 article and I'd like to skip the .net DataTable.
Code example of how to read WCF as SQL datatype would be much appreciated, thanks!
A DataReader is a class that keep connection open with database, so you cannot consume a service that returns a DataReader.
And return a DataTable is equals a bad idea, you must read the data and return a class with just data.
Maybe a good solution to your scenario can be WCF Data Services, that do what you want: data access.
You can read more here: https://msdn.microsoft.com/en-us/library/cc668794(v=vs.110).aspx
I'm new to neo4j and to web java programming.
I'm trying to use neo4j in a servlet application and for performance reasons I prefer to java-embed it rather than using the REST APIs.
The question is: ok, if I use REST then there will be a service listening on a certain porta that manages all the database stuff and execute my query and I'm ok, like mysql and other services. But what's the meaning of "embed" it ? where is the database manager? is it all in the jars?
second question. What is the "database path" I'm specifying when I load databases? is it a logical path that the database uses or it is a real path in which db data will be saved?
last one: I'm thinking to put the database creation in init() method so as to load it once per same-prcess-threads and I put the shutdown in destroy() for the same reason. am i doing correctly?
But on the website I've read that no two instances pointing to the same database can exist at same time. But what for two servlets sharing the same database? I start servlet A and it load database DB and then I start B and what happens?
I think if you are new to Neo4j and Java (Web) programming, you should start with the server and graph modeling.
Stick to Cypher and use it via one of the drivers. Eg. the JDBC driver.
After you have acquainted yourself with Neo4j, Cypher your graph data model etc. and only if you run into performance issues you can look into writing an unmanaged server extension for those use-cases.
I have a legacy database from which I have to extract some data and provide it as xml. For that I chose Symfony2 but now I am stuck. I would like to create one entity object, but the problem is, the data for it is distributed in two databases´(on the same server). I don't want to rewrite what I already made, so the easiest way would be to load the other database connections EntityManager in the existing repository. This is where I'am stuck. How can I load an EntityManager in a repository that uses the other connection? And what is the easiest way to "fill-in" the rest of the data of the entity? (By the way, I've used native queries in the repositories, because the legacy database is really complex and does not obey to any rules of DB design). I would be appreciate any help.
You could manage a second database connection called 'legacy', linking to the same database
than you need to map the entities to your managed connections than you could access your legacy table => entity and do whatever you want to with it ;)
http://symfony.com/doc/current/cookbook/doctrine/multiple_entity_managers.html
I'm evaluating some technologies for a new Web Application. Which should use EF5 and Knockout JS with Web API. I wanted to take advantage of the OData feature, when returning IQueryable, but am currently running into the problem, how to convert my EF Models to my Business Models.
As far as I've read, if I want to have a more complex DB (Computed Columns, Stored Procedures, ...) I should use DB First approach. (Correct me if I'm wrong)
Because I need to use DB-First approach and want my models to be Independent of the DB, I need to create them additionally to the EF-Models. And when I return from the DataLayer my Business Model as IQueryable I loose the possibility to execute additional queries directly on the DB but instead they are executed on the ASP.Net server directly.
Of course I don't plan to run complex queries over OData and would anyway implement those as additional actions, but it might be useful on the slower clients (smartphones, ...) to limit the returned data and perform additional filters directly on the server.
Is there any way out of this dilemma, to be still able to use OData?
Regards
Peter
You can try using Code First and EF migrations to create/upgrade database. With migrations you can create custom migrations that can be just SQL scripts to achieve what can't be done automatically with Code First itself. Database First approach is fine as well.
Ask yourself if you really want to/need to support multiple backends. It is possible with EF but hard to maintain. In this case I assume your conceptual model (csdl) would be the same for all databases but you would have multiple store specific models (ssdl files). Since your model would be the same for all databases you would have the same C# types regardless of the database you are using.
When supporting multiple databases you won't be able to run SQL queries against the database (or to be more specific you will get exceptions if you run SQL query specific to one database against a different database) but ideally you should not need it. In the worst you could enclose the logic you would like to code in SQL in a stored procedure that would exist in all databases. Again, I don't know when this would be needed (the only thing that comes to mind is performance) but since you are planning using OData you wouldn't be able to run these queries anyways unless you start using Service Operations.
Since your conceptual model would be the same regardless of the database you would have the same types regardless of the database. You could try using these for both DataLayer and Business Model (especially if you go with POCO). An alternative would be to use POCO/DTOs. (I have not tried OData support in Web API but with WCF Data Services the service itself would actually use EF types so you would not be even able to tell the service to use different set of types).
You actually don't lose the ability with DB first models to execute queries against the business model, as long as your transforms aren't too bad. For example, I have a OData service which has a PersistedCustomer (DB model) and a Customer (Business model). With EF5, I can write the LINQ which transforms the IQueryable to IQueryable, query against the IQueryable and EF can translate the criteria back against the original database.