I have a problem with unintended data sharing between different applications under same channel.
The problem is that is user adds items to a basket in one application, then that same basket can be viewed in different application that is not intended for the type of items that are in basket.
Below is the layout of applications under a single channel:
My question is whether is it possible to enforce different sessions for different application types (perhaps with a configuration setting) or whether there is some other built-in way of preventing data sharing between applications.
No. This is not possible to be achieved. By design, the Site is the session container of Intershop Commerce Suite. Within the Site different applications share the same storefront session.
Related
Can you explain multi tenancy in more detail? how to check whether that is working or not?
What is a http adaptor? Can we create two http adaptors in a single process?Correct me if I am wrong?
To give you a brief overview of multi tenant concepts may run through several pages. IMHO, the concept of multi tenancy for a developer can be mentioned as,
Single code base or multiple code bases (Based on the level of multi-tenancy) set up in a server or in a server farm to cater to all the disparate tenant's that may have varying user experience, varying applications (managed through subscription) and each tenant given a feel of dedicated application by showing them their own data and the corresponding bills for what features of the app they are using.
If you maintain a single code base, it is complicated in terms of development and a piece of cake when it comes to upgrade or bug fix etc...
You should Google around for multi-tenancy. The sample link is :http://blogs.gartner.com/alessandro-perilli/multitenancy-is-not-just-network-isolation-and-rbac/
Please fell free to post your specific focus area in multi-tenancy and technology that you are opting for so the community help will be to the grain.
I was wondering if anyone may know of any third party controls that can be purchased to perform mind mapping capabilities? My goal is to have the ability to wire up "canned up" controls. The controls should give a user an ability to drag and drop boxes and circles and make connections accordingly and automatically. However, the connections and the data in boxes and circles would be persisted on a SQL database via a .NET web application.
I have looked at the links below and added some notes. Most them seem to be available to purchase as individual licenses versus for a web server environment.
Please keep in mind that I have already taken the route to start developing my own mind mapping controls via JQUERY for an ASP.NET application but I'm weighing out my options due to time constraints.
Bubbl – can’t seem to purchase the controls for a web application.
https://bubbl.us/
Graph Visualization – seems like a desktop application with the ability to purchase individual licenses.
http://www.graphviz.org/
Mindjet - seem like a desktop application with the ability to purchase individual licenses.
http://info.mindjet.com/conceptmapping.html?cmpg=Americas_-_Google_US_CN_Mapping&gclid=CMKI_IqOs6kCFQQbKgodmCCZLg
SmartDraw seem like a desktop application with the ability to purchase individual licenses.
http://www.smartdraw.com/product/features/
Gallery – Can’t seem to find a way to purchase the any of the products and don’t know if the controls are for a web application.
http://www.graphviz.org/Gallery.php
Thanks,
Michael
Some time ago I tried the Bookbar open source mind mapping tool and it seemed pretty decent:
http://bookvar.codeplex.com/. You may want to play with it, too.
I just wrapped up an arch review and next-gen recommendation for a client of ours that needs about the deepest level of customization I’ve ever seen for an application. Their desire is to customize their enterprise web application from the UI to the back-end by customer (40+ customers needing control-level customization). The customization will even include special business rules engines and very complex logic involving the transportation industry. As much as is possible, they want developer nirvana by automating everything so customizations can be driven by their customers and have minimal to no involvement by their devs.
Based on my research, though there will need to be some additional plumbing built in as well as security, the DDF will get them closer to their goals more than anything else out there. However, they're requesting more detailed information than what I provided for them.
I really need a case-study or some other such testimony of an enterprise-level company that has successfully implemented the DDF and gives details as to the enterprise problems it solved for them. Any direction or help would very much be appreciated. Thanks!
Since it is now July, your question is probably OBE by now. However, I have designed and fielded a transportation scheduling web app (ASP.Net 4.0) currently in use by 15 facilities within the Army and Air Force using Dynamic Data. This is a single instance, scalable web appplication adapting to customer requirements through database resident configuration settings. I extended the field templates to use Telerik ASP.Net controls and be configurable by user role and facility.
I have found little in the metadata that was much of a hindrance in providing a flexible configurable UI.
Well at least one word of caution. One important aspect (and selling point) of DDF is the assignment of metadata attributes to help scaffold columns and tables and the use of new dynamic data controls to gain advantage of that metadata (like QueryableFilterUserControl or DynamicDataManager or PageAction). One aspect of metadata however is that it is assigned at run time, and cannot be manipulated once the application has started. Therefore different users would all be logging into basically the same metadata set, and customization based on user would be a nightmare. You can certainly set security and permissions based on group roles, but control level customization would be difficult. I hope this helps.
This is related to a previous question I asked, regarding splitting a asp.net mvc web application into two apps - one public, and one admin. Both of them would be sharing the same database of course.
With two web apps I'll have two host applications and so two seperate Nihbernate session factories. My concern is that their seperate data caches will cause all sorts of problems.
While posting this, I looked at this question, which covers a similar problem (for a different reason). I really don't want to have to set up some kind of distributed cache just for a low use admin application.
How can this be resolved? Is separating the admin section into it's own application not possible with NHibernate without drastic measures?
Thanks.
We run this successfully although some discrepancy in the data is always a problem. However, since the 2nd level cache is configurable per site, you can disable as well as turn it down for specific cache areas on your manager.
The 2nd level cache will only be used for reading, since explicit updates will be flushed down and persisted directly.
If your concern is that content on the site will be "old" once modified, some sort of trigger will be needed to instruct the site to evict the cache. NHibernate will then evict all 2nd level cache for a specific entity type if I remember it correctly.
I think your problem with concurrency will be minimal if your site vs your admin will update different entities. For example in a webshop:
Site will create orders, modify customers etc but only read products, prices and categories
Admin will modify orders, products, prices and categories but only read customers
You can however instruct NHibernate to only update modified fields/properties on your objects for entities that you are concerned about concurrency issues with dynamic-update="true" on your mapping. This won't fully solve your problem, but minimize concurrency issues.
First, you should know that NHibernate doesn't enable second-level cache by default.
So, actually you don't even need any additional steps to complete to just not to use distributed cache. Just use your "Admin" ISessionFactory and don't enable any L2 cache for that.
It could be a sort of problem inside a single App/Factory but you already solved that problem by dividing them into 2 different physical apps.
We are currently finishing a web-based time-tracking software built on ASP.NET and WCF (for different desktop-clients). Our customers can register an account and add an unlimited number of users to their account. Pricing is tied to the number of active users in the companys account.
To keep things simple and easily scalable we thought it would be a good architectural decision if we design each account to run as a single IIS-website with it's own application-pool, SQL-Server database and subdomain.
Unfortunately we rapidly run into memory-shortage, due to the fact that a single worker-process will consume at least 150mb, which means that for every single trial-account we need approx. 200mb more of memory...
Beside the heavy costs of such an architecture (trial-accounts!), we are not sure if it was a good decision for scaling, to design the architecture that way.
How would you design such
SAAS-applications?
Single app-pool for many sites?
Single website for many accounts with shared database?
Scaling vertically (more power) over scaling horizontically (more servers)?
Any good books or blogs on this topic?
Thank you!
What are the reasons for creating a new site and application pool for each account?
A single site with a shared database (number 3 in your list) is a much easier solution that can scale much better. You can then scale up the number of web or database servers when needed. This architecture is used in e.g. Sharepoint and most public web sites.