What feature is missing in the current Platform as a Service? [closed] - project

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I have a project which is to make a "Platform as a Service" environment like Heroku, GAE or dotCloud to name a few.
One of the recurring questions I ask is "What feature is missing in the current platforms ?"
Currently most platforms allow developers to deploy their applications (PHP / Python / RoR / JAVA / ...) and manage them by a SDK, a console or an IDE plugin.
A few allow some features like :
- online IDE,
- custom domains,
- management of addons,
- logs system,
- cron tasks,
- collaborative aspect,
- ...
According to you what is your favorite feature in the current PaaS or, if it does't exist, what would you see in this type of service ?
Thank you for your explanations and your help.
Nico (French developper - hence my spelling mistakes ^^)

One of the main problems still not solved in cloud is the security. Every application should have data associated with that. With cloud where to store data? is it secure? can the owners of the system prepare it when some problem happens? ..
Another part is auto scaling. Can the users deploy their application and platform takes care of auto scaling load balancing etc ..
Versioning can the platform support different versions at once.

I think the main feature that is missing in all PaaS platforms is that they are scaling by duplication rather than parallelization. In order to scale, common platforms duplicate a worker, a service or an application and then re-aggregate this by deploying a (virtual) load balancer in front of it. Thus, the units of scale are relatively inelastic blocks (a block could also be a VM).
The ideal way of scaling should be smaller units though e.g.. threads, processes. This way scaling would leave this legacy approach towards a real elastic paradigm.
By the way: this way also the multicore-challenge could be addressed. When you have a system with 100s of cores, then probably the sole way for an application to scale is by thread or process that can be distributed over the available cores. Not by duplicating and deploying legacy load balancers.

Related

Using trac for non-software projects [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm introducing a new Project-Management software in my company and looking into possible opensource software. Since i'm familiar with python, trac would be my first choice. but it looks like it is mostly used for software-projects, which isn't the case in my company.
Furthermore, time tracking is a big issue. We have multiple develeopers and each one should be able to track their time on the projects he worked on. This times schould be exported into csv at the end of each month (although i think i could to the export also directly from the DB)
So have anyone experiance with trac in non-software projects? It would be great to her some experiance from you, saves a lot of time for me ;)
We currently use Trac for our IT team. It allows us to track things such a help desk tickets, server projects and website changes. We have been doing this for over a year now and it is working great. It is even starting to spread out into other teams for managing team tasks!
As for pulling hours, etc from Trac, we use a custom field and then pull the data through the report module (now deprecated) and direct database access. In the past we have used plugins such as these.
http://trac-hacks.org/wiki/TimingAndEstimationPlugin
http://trac-hacks.org/wiki/TracHoursPlugin
We have also tied Trac into AD for authentication which allows for a single shared pasword for Trac and our domain.
For what it's worth I've setup a couple of Trac instances, that are totally unrelated to software development. Trac works well as a low entry barrier platform for any stuff I've encountered so far. We have all sorts of applications running, and especially the attitude to wikify anything is very nice - wiki markup in tickets, consistent link syntax across modules (changeset comments, tickets, wiki pages), etc. And I can confirm the viral effect, that a well-established Trac application has.
Trac it's very slim at initial setup, but feature-rice and modular from the ground to satisfy growing demand. For things like time-tracking you could use solutions like the TimingAndEstimationPlugin mentioned by Josh before as well. In general trac-hacks.org is a crowded space, not exactly easy to pick what you want, but a valuable resource anyway.
Make sure to ask at the trac-users mailing list and IRC channel #trac at irc.freenode.net, if you encounter some challenges. It's a small developer community, but a friendly one, and with some Python experience you'll surely find your way. Source code and wiki docs at trac.edgewall.org are always your friend.

Best Practice for retrieving data from SAP by .net [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm looking for a 'best practice' in the industry for integrating SAP with a .Net application. So far I only need to read data from SAP, there's no need to update.
The most straightforward way I've found is using SAP Connector and call a BAPI. I am using SAP Connector 3.0. But I'm just wondering whether there's better design out there for retrieval of data? The requirement is - to touch SAP as little as possible and able to transfer data in bulk.
Also, if using this design, other than the SAP login info which I can safeguard via standard encryption etc, is there any other security concern?
Thanks.
I've written many SAP RFC applications. I believe that the .Net connector sits on top of their RFC protocol as does the Java connector. In my experience, the best practice depends on who you ask at SAP. They do have a web application server (WebAS I think it is called these days....it was renamed a few times) that can probably host a web service, but it depends on what you have installed. I think many people opt for the .Net or Java connector still. (I prefer the C++ library personally since it is quite fast, but that is only for the extremely foolish ;) )
My information may be dated, but if they have been consistent then the RFC communication layer is not encrypted out of the box. There is a third party plugin that is used on SAP GUI and all RFC type connectors (.Net/JCo) to encrypt the data stream. You have to set it up in the rfc .ini file.
Then there are IDOCs, which I don't think you want to play with. It is a flat file format much like EDI but dumber.
About the security part, if you're using the equivalent of JCO with .Net, you have a user on the SAP backend to connect with.
This user should be of type "Connection" (so that no-one can use it with the SAPGUI), and should have authorizations that are limited to what is needed (so that no program can use it to perform others operations that you did not thought). While the chance that someone manage to get this user/password are low, you don't take chance with productive datas. Also, password should not be a simple one.
This may sound like basic security, but since i just found the exact opposite on a productive system, i prefer to state it.
Regards

Any tips for creating a key value store abstraction layer? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
With all the key value data stores out there I have started to create an abstraction layer so that a developer does not have to be tied in to a particular store. I propose to make libraries for:
Erlang
Ruby
Java
.NET
Does anyone have any tips on how I should go about designing this API?
Thanks
First off, and as a general rule for anytime you build "pluggable" abstraction layer, build it to support at least two real implementations to start. Don't build it for just one datastore and try to make it abstracted, because you'd overlook a details that won't plug into another implementation very well. By forcing it to use two seperate implementations, you'll get closer to something that is actually flexible, but you'll have to make further changes to support a third and fourth data store.
Second, don't bother, these things already exist. Microsoft has provided a ton of these for their technologies (ODBC, ADO, ADO.NET, etc), and I'm sure Ruby/Java/etc has several as well. I understand the desire to encapsulate the already existing technology, but the more data stores you need to support, the more complexity you need to build in, and the closer you'll get to ADO.NET (or similar technologies). Companies like MS have spent a ton of money and research on solving this exact problem, and that is what they came up with.
I would strongly recommend checking out Twitter's Storehaus project - this is a key-value store abstraction layer for the JVM and written in Scala, supporting (to date) Memcache, Redis, DynamoDB, MySQL, HBase, Elasticsearch and Kafka.
Storehaus's core module defines three traits:
A read-only ReadableStore with get, getAll and close
A write-only WritableStore with put, putAll and close
A read-write Store combining both
In the Ruby ecosystem, you should check out moneta, which again provides a unified interface to key/value stores. It has a lot more features than Storehaus.

Do you use Scimore SQL database? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
There's a database engine that looks amazing for a free tool and that is Scimore.
Have you had much experience with it? If so, how does it rate..particularly against Firebird? How resilient/self reliant is it? (Meaning how much downtime/maintenance is expected?) The scale out capabilities also look very interesting.
I just downloaded it and have been playing around and so far it looks good. I had been looking for an easy to deploy single-user type embedded database (which Scimore has an option) and was toying with MS SQL Compact Edition and SQLite and remembered this database from a trial a few years ago. (Windows platform)
I was about ready to settle in on SQLite but started thinking about other projects which are multi-user and wanted to stick with a single solution...which is why I started looking at Firebird as well.
You should not expect downtime with Scimore. It has all the bells and whistles that you will find in expensive database products, MVCC, ACID transactions, tolerance to your application crashing etc.
From what we hear, the primary reason to switch to Scimore Embedded, is robustness when having high concurrency, large datasets and large load.
An intersting thing that differentiates Scimore from other databases is that it grows from:
embedded inside your application processes. We know of applications based on ScimoreDB Embedded with more than 1.5 mio installations.
embedded with your application, but running in a seperate processes outside your application. It allows for multiple applications to share & modify data.
runs as a "standard" windows service, similar to a mysql/sql server/oracle
it runs distributed over many machines. You install the distributed instance (service) on many machines, join them into a cluster. You can now connect to any instance
and it will orchestrate your SQL queries over the machines in the cluster. Longest running cluster of 5 machines has been running for more than 10 years.
FAQ is a quite nice start
Can I get access to the source code?
[ScimoreDB]Yes, sign a support contract.
Firebird is Open source
Do you support integration with developer studio?
[ScimoreDB]No. We are working on both Linq and DDEX functionality. There is yet no release date
Firebird have.
Linux – do you have a linux version?
[ScimoreDB]Almost. Using Wine, we almost got there, but unfortunately the library seems to have some bugs for async socket and disc access.
Firebird have

What is a good open source Java SE JTA TransactionManager implementation? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Basically, what it says on the tin; I need a JTA implementation useable in a Java SE application, ideally one that doesn't carry too much of a framework burden with it.
I recommend Bitronix. Before using any other transaction manager, I recommend thorough testing. Tests like killing power to various machines during each phase of the transaction. You want transactionality to protect you when failures occur. It is surprising how many transaction managers have failed to correctly implement recovery.
Bitronix does need JNDI, which is typically provided for you in a Java EE container, but they include a simple embedded implementation that will support Bitronix in a Java SE application.
From its webpage:
"With over 20 years of expertise in the area of transaction processing,
JBoss Transactions (JBossTS) is the premier open source transaction manager.
It can be deployed within a range of application servers, containers or run stand-alone. Over the past 20 years it has been used extensively within industry and to drive standards including the OMG and Web Services."
Try Atomikos TransactionsEssentials.
Atomikos is the inventor of "Java EE without Application Server", so if any open source JTA/XA does well in Java SE then it must be TransactionsEssentials: it was designed for Java SE right from the start, and includes JDBC and JMS connectors/pools so you don't need any application server functionality.
Because of its Java SE focus, TransactionsEssentials also has very few dependencies on third-party jars or platforms.
Best
Guy
Disclaimer: I work for Atomikos, but still...
Quote from http://jotm.ow2.org/
JOTM is an open source Transaction Manager implemented in Java.
It supports several transaction models and specifications providing transaction support for clients using a wide range of middleware platforms (J2EE, CORBA, Web Services, OSGi).
JOTM is hosted by the OW2 consortium. The license used by JOTM is BSD-style License.
This implementation is fully functional and mature since it has been used for several years in the JOnAS application server project.
You can try SimpleJTA: -- http://simplejta.sourceforge.net/