2010-09-27 6 views
2

cette question est une extension d'un fait en Best Solution Architecture, fondamentalement je veux savoir quelle est la meilleure architecture pour faire face à des solutions où les applications de bureau et mobiles sont impliquées. En ce moment je voudrais savoir, et si nous décidions de passer en revue les technologies Java, comment pouvons-nous construire cette solution afin de réutiliser autant de code que possible. Les solutions doivent être exécutées sur une machine windows, linux et mac (nous savons qu'en utilisant java et swing tech comme business et GUI respectivement, nous pouvons accomplir ce requeriment). le problème vient quand nous avons décidé d'incorporer Android OS pour la capacité mobile de nos solutions, comment pouvons-nous réutiliser le code écrit pour l'application de bureau? comment exposer ma classe affaires en tant que service lorsque nous essayons d'éviter les installations de serveurs Web ou d'applications? est-il possible d'archiver SOA en évitant le serveur d'application Web? quelles sont les meilleures techniques de développement pour réutiliser autant de code que possible?Bonne architecture mobile et de bureau

Si vous avez des documents ou des commentaires qui me pointent dans la bonne direction pour résoudre ce problème, je l'apprécierais.

Répondre

2

Si vous essayez d'éviter d'héberger un serveur Web avec le code qui s'exécute dessus, je suggère de créer une bonne bibliothèque JAR à l'ancienne.

Conservez tout le code de l'interface utilisateur hors du JAR et programmez simplement la logique métier en tant qu'API. Codez-le dans J2SE 1.5, mais assurez-vous de le tester à la fois sur les environnements de bureau et mobiles. Vous pouvez ensuite utiliser votre fichier JAR de logique applicative au moment de créer l'application de bureau complète et l'application Android.

Pour plus d'informations sur l'utilisation des fichiers JAR dans Android ce qui devrait aider: How to add external jar libraries to an android project from the command line

Pour plus d'informations sur les fichiers JAR en général et pour les applications bureautiques lire la suite ici: http://java.sun.com/developer/Books/javaprogramming/JAR/basics/

0

Voici un script PHP pour le faire :

<?php 

/* MOBILE DETECT */ 

$mobile_browser = '0'; 

if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i', strtolower($_SERVER['HTTP_USER_AGENT']))): 
$mobile_browser++; 
endif; 

if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))): 
$mobile_browser++; 
endif; 

$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4)); 

$mobile_agents = array('w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac', 
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno', 
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-', 
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-', 
'newt','noki','oper','palm','pana','pant','phil','play','port','prox', 
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar', 
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-', 
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp', 
'wapr','webc','winw','winw','xda','xda-'); 

if(in_array($mobile_ua,$mobile_agents)): 
$mobile_browser++; 
endif; 

if(strpos(strtolower($_SERVER['ALL_HTTP']),'operamini')>0): 
$mobile_browser++; 
endif; 

if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0): 
$mobile_browser=0; 
endif; 

if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'iemobile')>0): 
$mobile_browser++; 
endif; 

if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),' ppc;')>0): 
$mobile_browser++; 
endif; 

if($mobile_browser>0): 
echo "mobile"; 
else: 
echo "nix mobile"; 
endif; 

?> 
Questions connexes