Object persistence without ORM or DB Engine - linq

I learned to love how LINQ enables set operations on collections. I'm not saying that I plan to shun traditional RDMBS, because I do need it for reporting. There are NoSQL alternatives out there, but they seem to all need to fire up a separate service.
What I looking for is something local where a DLL can create a database and perform CRUD on it. As mentioned, I'm not going to report out of this, just internal data store. The main application that will be using it is in C#.
I'm hoping that someone can give me a lead. If not, if there is anyone willing, we can start a open-source project for it. I'm not interested in commercial products.
Thanks,

You can run RavenDB in embedded mode inside your .NET application - no need for external services or anything.
And RavenDB supports Linq....

Related

oracle CRUD frontend

We have an existing system using Oracle DB and several applications working on/off it using JDBC/ODBC etc. For an additional interface for CRUD operations I am looking at a web based front-end. I dont see a whole of ideas in this areas, maybe because the ORacle DB is mostly enterprise and probably means the enterprises building their own custom apps?
Using the Oracle REST API services, build a front end using Angular/JS. This eliminates any need for oracle specific server side logic and almost ORacle independent. Are there any frameworks / opensource tools that fall in this area?
Please let me know any comments / feedback on this approach.
As far as I know there aren't really any options like this specifically for Oracle databases. You might be better off going with a desktop solution, of which there are many.
There is a web UI called "H2 Console" which claims to work with any JDBC connection. I have used this with MySql before with great success but have not tried it with Oracle.
The H2 Console application lets you access a database using a browser. This can be a H2 database, or another database that supports the JDBC API.
If you want something more 'user friendly' then as far as I know there are no existing solutions for this. You will probably have to build your own or educate your users on SQL.

Hibernate SAP integration

Can we integrate Hibernate and SAP? I do have integrated a few databases with Hibernate. Since am not aware of SAP, I want to know if there is any support provided by Hibernate to integrate it with the SAP.
As far as I know I don't think that exists. SAP has its own data mapping strategy known as Open SQL and also provides special functions to insert, update and delete data that also ensure data consistency, those functions are called BAPI and unless you have an SAP connector to call these BAPIs then there's not much you can do. For more reference check this .Net connector example.
Sure you can make a connection directly (if the system administrator and/or DBA let you) to the database however is not advisable and is very dangerous because you could create inconsistencies in the system. Please do not try this approach.
However you can make use of software like the connectors I mentioned before or you could use the SAP interface system. You can find more information on this issue checking out the terms ALE and IDocs.
Another strategy is using an intermediate table on a database where you and SAP take and write data and with some controls communicate each other but on this issue you would use a BAPI in case of using a standard table or making a custom table (Z table) where you have more freedom to make your own changes.
Hope it helps
No, because SAP is not a database.
SAP is a software which is backed by a database. It does support several different RDBMS systems. Theoretically you could use Hibernate to access the database which backs your SAP system, but this is likely not a very good idea. Both hibernate and SAP are built on the assumption that they have exclusive access to the database. Having another application make changes to the DB without them knowing can lead to all kinds of obscure problems.
There are, however, several other methods to integrate SAP into your business processes, like calling BAPI function models using SAPs proprietary RFC protocol, communicating via IDocs, Batch-Input, SOAP webservices and many more.
If you think of the SAP system as a database as in RDBMS: No, you can't, because it isn't - as others have pointed out.
If you want to use something Hibernate-like stuff to access a backend system, you might want to take a look at Hibersap.
You can say SAP has built its own "Hibernate framework" in the Application Layer called OpenSQL( I guess this was built ages before Hibernate ). So SAP applications(ERP/CRM/SRM etc.) can communicate with any database type. So think of it like, SAP has a dialect for different databases.
But when you configure SAP application to use a Database, that database is locked down by SAP and you should not even try to hack it to directly update the database using direct SQL or any other framework like Hibernate. SAP does 100s of validations and checks before it saves the data into the database, you would be bypassing these checks if you are updating the database directly.
I think no organisation would allow you to do it in a production environment and if they allow you to, they don't need SAP.
SAP owns some database products like maxDB, sybase, HANA etc..Hibernate has the dialects for these products. Hibernate with HANA could be interesting.

DataBase for Metro style apps in windows 8 Development?

Hi i am developing a metro style application where i will be connecting to web services and get the data from the web service and i will be binding it to the UI.
But my requirement is in my application i need to create tables and also provide relation between the tables and dump the data in to that local database and use that data in calling the other methods present in my service application (calling one more method in services by passing something as an input to that).
Can you please explain me the following :-
What is Database which is supported for metro style apps?
How can i create a database and create tables and dump the the data which i got as the response from my service application?
I am new to Metro style application development please help me out .
Thanks in Advance.
First of all WinRT has very poor db support. Most of this kind of things are done by web services, OData etc
BUT I`m almost 100% sure that you can use SQLite. On codeplex there are connectors from Win8 Metro app to SQLite DB so check this topic. I also saw somewhere on MS page that SQLite is support in some way. Check it
What Fixus said is correct. Personally , since my app doesnt have a large amount of data to store locally (it goes against the Metro guidelines to store large amounts of data) I serialize the objects instead to local storage. When needed, and if internet is available, the services will be called and the local data updated.
If you choose to use SQLlite make sure you use the real deal and not a third party db, as the DB library must be approved by Microsoft if you want to get the app accepted to the windows store. I'm not even sure that SQLite is yet approved, but by the looks of it they will be.
Tim Heuer always writes great articles on the subject, this one might help you
Let me know if you need help with serializing in WinRT, if you need it.
Best of luck!
We recommend using SQLite database with LinqConnect - Devart's LINQ to SQL compatible solution which supports SQLite engine (provided by http://code.google.com/p/csharp-sqlite/). You can employ LINQ and ADO.NET interfaces with our product. Starting from the 4.0 version, LinqConnect supports Windows Metro applications: http://blogs.devart.com/dotconnect/linqconnect-for-metro-quick-start-guide.html.
If you're building some application that has to keep working without any network connection, and needs to synchronize at some point in time, it is necessary to keep a local database.
You can read the following article, which has some basic guidelines and samples.
http://blogs.msdn.com/b/win8devsupport/archive/2013/01/10/using-database-in-windows-store-apps-i.aspx

Is CodeIgniter suitable for large intranet applications that do not use MySQL?

I don't really plan on using active record or any of the built in database constructs native to CodeIgniter for database access. I have Oracle, SQL Server, and others. I want to use PHP PDO (unless anyone thinks that's bad) because of the universal aspect of it.
I mainly want CI because of some of the built in libraries and MVC. I also like that it is small and easy to work with.
2.x if it matters.
I did see other questions but none exactly about databases.
Thanks.
edit: It's not that I don't think CI and PHP can take it with large websites. This is solely about using multiple databases of varying companies. I have mostly seen MySQL used with it. I know I can use other databases but again, I don't know if it is more trouble than worth or what.
MySQL is the default just because of how widely-adopted it is, especially in the PHP world. Almost everyone has a *AMP stack to work on so it ends up being the main driver used in almost every example out there.
If you're not planning on using the database class, then it really doesn't matter what type of database you are using, just don't load the class. You can still use routing, helpers, libraries, and other CI features.
So yes, I do think it is suitable for your purposes.
CodeIgniter was built with the idea of being the framework closest to native PHP that doesn't tell you what to do. The entire framework is modular and you are not required to use any single component.
Yes, it is absolutely suited to what you are doing. You can plug and play whatever DB driver you want and CI will not complain one bit.
I think CI is more suited for this role than any other of the 'big' frameworks.

How can I integrate Oracle BI into an existing application?

I have an existing application written in Perl. Now I need to integrate this application with OBI. The plan is having a button the user can click on to open OBI in an iframe. OBI resides on a different server from the running application.
Has anyone done this before, know what is the best practice for doing this, and what is the effort of doing this?
Another question is is it possible to add customizations to the OBI displayed in the iframe.?
There are two ways to address the problem that I know of and tried out. According to your needs, one or the other might be more appropriate (or both, they're not mutually exclusive). In both cases, the documentation is good and readily available.
The "Go URL"
The Go URL is documented more thoroughly in the Oracle Business Intelligence Presentation Services Administration Guide. It provides a quick and easy interface to the reports you've already defined, in the form of a URL. All that's needed to get it running is to fill in a few query parameters to direct to the report you want. You might need to include authentication tokens too.
Pros: very easy to try out.
Cons: harder to get security right.
The web services
The presentation server comes with a series of web services that enable a more programmatic way of querying your repository. The functionality offered through this channel goes further: for example most catalog management, including report creation and editing is possible. The full list fills a guide of its own: the Oracle Business Intelligence Web Services Guide.
Pros: better integration (i.e., no need for an IFRAME); easier to get the security right.
Cons: harder to setup; lots of XML; more advanced features (e.g. in-place drilldown) need an HTTP bridge that was a bitch to get right in my case. The generated HTML might clash a bit with yours and require cleaning up, notably in the CSS.
Embedding OBIEE reports inside a non-ADF web app is tough. If you have an option to re-write your web application in ADF, your life will be a lot easier. Just drag and drop reports and visualizations into your web application. Oracle's own Fusion Applications also follow this approach. If your app is analytics heavy, it might be a good option to explore. Here's a link to the Oracle doc.

Resources